:root{--navy:#0a1020;--char:#131a2b;--line:#27324a;--ink:#f2f5fa;--mute:#a3afc5;--accent:#7db2ff;--r:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;background:var(--navy);color:var(--ink);font:400 1.0625rem/1.65 "Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--ink);color:var(--navy);padding:.5rem 1rem;z-index:10}
header.top{position:sticky;top:0;z-index:5;background:rgba(10,16,32,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem;flex-wrap:wrap}
.brand{font-weight:800;letter-spacing:-.02em;text-decoration:none;font-size:1.2rem}
nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}
nav a{color:var(--mute);text-decoration:none;font-weight:500;padding:.25rem 0}
nav a:hover{color:var(--ink)}
.hero{position:relative;overflow:hidden;padding:clamp(5rem,14vw,10rem) 0 clamp(4rem,10vw,7rem)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.35;mask-image:radial-gradient(ellipse at 70% 30%,#000 0,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 0,transparent 70%);animation:drift 40s linear infinite}
@keyframes drift{to{background-position:56px 56px}}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(2.6rem,7.5vw,5.6rem);line-height:1.02;letter-spacing:-.04em;font-weight:800;margin:0 0 1.5rem;max-width:14ch;animation:rise .8s ease both}
.hero p{max-width:52ch;color:var(--mute);font-size:1.2rem;margin:0 0 2.2rem;animation:rise .8s .12s ease both}
.hero .actions{animation:rise .8s .24s ease both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.actions{display:flex;flex-wrap:wrap;gap:.75rem}
.btn{display:inline-block;padding:.8rem 1.35rem;border-radius:999px;font:600 .98rem/1.2 inherit;text-decoration:none;border:1px solid transparent;transition:background .2s,border-color .2s}
.btn-primary{background:var(--accent);color:var(--navy)}.btn-primary:hover{background:#a2c8ff}
.btn-ghost{border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent)}
.btn.is-disabled{opacity:.55;cursor:not-allowed}.btn.is-disabled:hover{border-color:var(--line)}
section{padding:clamp(3.5rem,8vw,6rem) 0}
h2{font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.03em;line-height:1.15;margin:0 0 1rem}
.lead{max-width:62ch;color:var(--mute)}
#about{background:var(--char);border-block:1px solid var(--line)}
.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin-top:2.5rem}
.card{background:var(--char);border:1px solid var(--line);border-radius:var(--r);padding:1.75rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .2s}
.card:hover{border-color:var(--accent)}
.card-featured{grid-column:1/-1;background:linear-gradient(135deg,#17213a,var(--char))}
@media(min-width:900px){.card-featured{grid-column:span 2}}
.card h3{margin:0;font-size:1.5rem;letter-spacing:-.02em}.card p{margin:0;color:var(--mute)}
.card-head{display:flex;align-items:center;gap:.9rem}
.mark{width:2.75rem;height:2.75rem;border-radius:12px;border:1px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-weight:800}
.features{margin:0;padding-left:1.1rem;color:var(--mute)}
.card .actions{margin-top:auto;padding-top:.5rem}
footer{border-top:1px solid var(--line);padding:3rem 0 2rem;color:var(--mute);font-size:.95rem}
footer .cols{display:flex;flex-wrap:wrap;gap:2rem 4rem;justify-content:space-between}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
footer a{text-decoration:none}footer a:hover{color:var(--ink);text-decoration:underline}
.small{margin-top:2rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before{animation:none!important;transition:none!important}}

/* Added styling: soft glow, nav underline, card lift, accent rule on headings */
.hero::after{content:"";position:absolute;width:42rem;height:42rem;right:-12rem;top:-14rem;background:radial-gradient(circle,rgba(125,178,255,.18),transparent 65%);pointer-events:none}
nav a{background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 2px no-repeat;transition:background-size .25s,color .2s}
nav a:hover,nav a:focus-visible{background-size:100% 2px}
h2::before{content:"";display:block;width:2.5rem;height:3px;border-radius:3px;background:var(--accent);margin-bottom:1rem}
.card{transition:border-color .2s,transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.35)}
.btn-primary{box-shadow:0 6px 18px rgba(125,178,255,.22)}
.btn:active{transform:translateY(1px)}
.mark{background:rgba(125,178,255,.1)}
