.home-hero{position:relative;min-height:calc(100vh - 66px);display:grid;align-items:center;overflow:hidden;padding:4rem 0;border-bottom:1px solid var(--border)}
#graph{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 30%,#000 62%);mask-image:linear-gradient(90deg,transparent 0,transparent 30%,#000 62%)}
.hero-fallback{position:absolute;inset:0;background:radial-gradient(60% 60% at 70% 40%,var(--glow),transparent 70%)}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:var(--s5);align-items:center;width:100%;pointer-events:none}
.hero-inner a,.hero-inner button{pointer-events:auto}
.home-hero h1{font-size:var(--step-4);line-height:1.02;letter-spacing:-.03em;max-width:none}
.home-hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin:var(--s4) 0 0}
.proof{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;margin-top:var(--s3)}
.proof>div{background:var(--nav-bg);backdrop-filter:blur(6px);padding:1.1rem 1.2rem}
.proof b{display:block;font-family:var(--fd);color:var(--cyan);font-size:var(--step-2);line-height:1.1}
.proof span{font-size:.86rem;color:var(--muted);line-height:1.35;display:block;margin-top:.35rem}
.proof>div:nth-child(1) b,.proof>div:nth-child(8) b{color:var(--gold)}
.portrait{position:relative;justify-self:center;width:min(340px,70vw);aspect-ratio:1}
.portrait .ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--border-strong)}
.portrait .ring.r2{inset:-18px;border-style:dashed;animation:spin 60s linear infinite}
.portrait .ring.r3{inset:-40px;opacity:.5;animation:spin 90s linear infinite reverse}
.portrait .dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);top:-5px;left:50%;box-shadow:0 0 18px var(--gold)}
.portrait .photo{position:absolute;inset:14px;border-radius:50%;overflow:hidden;background:var(--surface);box-shadow:0 30px 80px -20px var(--glow)}
.portrait .photo img{width:100%;height:100%;object-fit:cover;display:block}
.portrait .tag{position:absolute;font-family:var(--fm);font-size:.72rem;letter-spacing:.06em;background:var(--surface);border:1px solid var(--border);border-radius:var(--pill);padding:.35rem .7rem;white-space:nowrap;color:var(--text)}
.portrait .t1{top:6%;left:-24%}.portrait .t2{bottom:10%;left:-30%}.portrait .t3{top:46%;right:-26%}
.portrait .tag i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.45rem;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
.labels{position:absolute;inset:0;pointer-events:none;z-index:1}
.lbl{position:absolute;transform:translate(-50%,-140%);font-family:var(--fm);font-size:.7rem;letter-spacing:.06em;color:var(--text);background:var(--nav-bg);border:1px solid var(--border);padding:.2rem .5rem;border-radius:var(--pill);opacity:0;transition:opacity .4s;white-space:nowrap}
.lbl.on{opacity:.92}
.legend{position:absolute;right:var(--s3);bottom:1.2rem;z-index:2;display:flex;gap:1rem;font-family:var(--fm);font-size:.7rem;color:var(--muted)}
.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;vertical-align:middle}
.motion{position:absolute;left:var(--s3);bottom:1.1rem;z-index:3;font-family:var(--fm);font-size:.7rem;background:var(--bg);border:1px solid var(--border-strong);color:var(--muted);border-radius:var(--pill);padding:.3rem .7rem;cursor:pointer}
.pillars .card h3{display:flex;gap:.6rem;align-items:center}
.pillars .num{font-family:var(--fm);font-size:.72rem;color:var(--gold);border:1px solid var(--gold);border-radius:var(--pill);padding:.05rem .5rem}
.journey{list-style:none;padding:0;display:grid;gap:0;border-left:2px solid var(--border-strong);margin-left:.4rem}
.journey li{position:relative;padding:0 0 1.4rem 1.6rem}
.journey li::before{content:"";position:absolute;left:-7px;top:.45rem;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--cyan)}
.journey li.now::before{background:var(--grad);border-color:transparent}
.journey .when{font-family:var(--fm);font-size:.72rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.journey h3{margin:.15rem 0 .2rem;font-size:1.1rem}
.contact-card{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:center}
.contact-card img{width:96px;height:96px;border-radius:50%;object-fit:cover}
@media (max-width:900px){.hero-inner{grid-template-columns:1fr}.portrait{order:-1;width:200px}.portrait .tag{display:none}.proof{grid-template-columns:repeat(2,1fr)}.proof>div{padding:.9rem}.legend{display:none}
 #graph{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 30%,transparent 60%);mask-image:linear-gradient(180deg,#000 0,#000 30%,transparent 60%)}.contact-card{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.portrait .ring.r2,.portrait .ring.r3{animation:none}}
