:root{--bg:#070b18;--ink:#f4f6ff;--mute:#9aa3c4;--line:rgba(255,255,255,.14);--blue:#4f7cff;--gold:#f2b705;--orb1:rgba(79,124,255,.38);--orb2:rgba(242,183,5,.16);--dot:244,246,255;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#f5f3ee;--ink:#0d1330;--mute:#4f5675;--line:rgba(13,19,48,.2);--blue:#2a56e0;--gold:#b78500;--orb1:rgba(42,86,224,.2);--orb2:rgba(242,183,5,.22);--dot:13,19,48}}
:root[data-theme="light"]{--bg:#f5f3ee;--ink:#0d1330;--mute:#4f5675;--line:rgba(13,19,48,.2);--blue:#2a56e0;--gold:#b78500;--orb1:rgba(42,86,224,.2);--orb2:rgba(242,183,5,.22);--dot:13,19,48}
*,*::before,*::after{box-sizing:inherit}
html{color-scheme:dark light;height:100%}
body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.orb{position:fixed;border-radius:50%;filter:blur(90px);z-index:0;pointer-events:none;will-change:transform;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.o1{width:52vmax;height:52vmax;left:-16vmax;top:-18vmax;background:var(--orb1)}
.o2{width:40vmax;height:40vmax;right:-14vmax;bottom:-16vmax;background:var(--orb2)}
.wrap{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;max-width:1120px;margin:0 auto;padding:clamp(20px,4vw,40px) clamp(20px,5vw,48px)}
header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.brand{font-weight:800;font-size:1.15rem;letter-spacing:-.01em}
.brand span{color:var(--blue)}
.badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.16em;background:rgba(127,140,190,.08);backdrop-filter:blur(8px)}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 var(--gold);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
main{padding:clamp(28px,8vh,80px) 0}
h1{font-size:clamp(2.1rem,4.7vw,4rem);line-height:1.08;letter-spacing:-.035em;font-weight:800;margin:0 0 14px}
h1 .ln{display:block;white-space:nowrap}
.role{margin:0 0 clamp(20px,3vw,32px);white-space:nowrap;font-size:clamp(.8rem,3.6vw,1.15rem);font-weight:500;color:var(--gold);letter-spacing:.01em}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,64px);align-items:center}
.photo{margin:0;position:relative}
.photo::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--line);border-radius:6px 6px 110px 6px}
.photo img{position:relative;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%;border-radius:6px 6px 110px 6px}
.js .photo{opacity:0;animation:up 1s ease 1s forwards}
h1 .w{display:inline-block;margin-right:.22em}
.js h1 .w{opacity:0;transform:translateY(.5em);filter:blur(10px);animation:in .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.25s + var(--i)*.14s)}
@keyframes in{to{opacity:1;transform:none;filter:none}}
.sub{max-width:44ch;font-size:clamp(1.05rem,2.2vw,1.3rem);margin:0 0 8px}
.sub2{max-width:44ch;color:var(--mute);margin:0 0 28px}
.js .role,.js .sub,.js .sub2,.js .state,.js .meta{opacity:0;animation:up .9s ease forwards}
.js .role{animation-delay:1s}.js .sub{animation-delay:1.2s}.js .sub2{animation-delay:1.35s}.js .state{animation-delay:1.5s}.js .meta{animation-delay:1.7s}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.state{display:flex;align-items:center;gap:14px;margin:0 0 6px;font-weight:700;font-size:1.05rem}
.state .pre{color:var(--mute);font-weight:500}
.rot{position:relative;display:inline-block;height:1.5em;min-width:7.5em;overflow:hidden;vertical-align:bottom;color:var(--gold)}
.rot span{position:absolute;left:0;top:0;opacity:0;transform:translateY(100%);transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s}
.rot span.on{opacity:1;transform:none}
.rot span.off{opacity:0;transform:translateY(-100%)}
.track{position:relative;height:2px;max-width:420px;background:var(--line);overflow:hidden;border-radius:2px;margin-top:10px}
.track::after{content:"";position:absolute;top:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,var(--blue),var(--gold),transparent);animation:slide 2.4s ease-in-out infinite}
@keyframes slide{from{left:-30%}to{left:100%}}
.meta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:clamp(28px,5vh,52px)}
.domain{font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:700;letter-spacing:-.01em}
.social{display:flex;gap:12px;list-style:none;margin:0;padding:0}
.social a{--c:var(--ink);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);color:var(--mute);background:rgba(127,140,190,.06);transition:transform .35s cubic-bezier(.2,.7,.2,1),color .25s,border-color .25s,box-shadow .35s}
.social a:hover,.social a:focus-visible{transform:translateY(-4px) scale(1.08);color:var(--c);border-color:var(--c);box-shadow:0 10px 26px -8px var(--c)}
.social a[aria-disabled="true"]{cursor:default}
.social svg{width:21px;height:21px;fill:currentColor}
.social svg.st{fill:none;stroke:currentColor;stroke-width:2}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--mute);font-size:.85rem;padding-right:84px}
.wa{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:5;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;text-decoration:none;box-shadow:0 12px 30px -8px rgba(37,211,102,.7);transition:transform .3s}
.wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{from{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}
.wa:hover{transform:scale(1.08)}
.wa svg{width:30px;height:30px;fill:currentColor}
.wa .tip{position:absolute;right:72px;white-space:nowrap;padding:7px 12px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:.82rem;font-weight:700;opacity:0;transform:translateX(8px);pointer-events:none;transition:.25s}
.wa:hover .tip,.wa:focus-visible .tip{opacity:1;transform:none}
@media (max-width:820px){.hero{grid-template-columns:1fr}.photo{order:-1;max-width:360px;margin-left:14px}}
@media (max-width:640px){.badge{font-size:.64rem;letter-spacing:.12em}.state{flex-wrap:wrap;gap:4px 10px}.social a{width:44px;height:44px}.wa{width:54px;height:54px}.wa .tip{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js h1 .w,.js .photo,.js .role,.js .sub,.js .sub2,.js .state,.js .meta{opacity:1;transform:none;filter:none}.rot span:first-child{opacity:1;transform:none}}
