@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=JetBrains+Mono:wght@400;500;600&display=swap";.preloader[data-v-a57837cc]{z-index:100;position:fixed;inset:0;overflow:hidden}.preloader.diving[data-v-a57837cc]{opacity:0;transition:opacity .65s}.pl-sky[data-v-a57837cc]{background:linear-gradient(#8ec9f0 0%,#bfe3f8 55%,#eaf6ff 100%);position:absolute;inset:0 0 50%}.pl-sun[data-v-a57837cc]{background:radial-gradient(circle,#fffce6f2 0%,#fff4c880 45%,#0000 72%);border-radius:50%;width:130px;height:130px;position:absolute;top:14%;right:16%}.cloud[data-v-a57837cc]{opacity:.92;background:#fff;border-radius:999px;height:26px;animation:9s ease-in-out infinite alternate cloud-drift-a57837cc;position:absolute}.cloud[data-v-a57837cc]:before,.cloud[data-v-a57837cc]:after{content:"";background:inherit;border-radius:50%;position:absolute}.c1[data-v-a57837cc]{width:120px;animation-duration:11s;top:22%;left:12%}.c1[data-v-a57837cc]:before{width:46px;height:46px;top:-22px;left:20px}.c1[data-v-a57837cc]:after{width:34px;height:34px;top:-14px;left:62px}.c2[data-v-a57837cc]{width:88px;animation-duration:13s;animation-delay:-4s;top:38%;left:58%}.c2[data-v-a57837cc]:before{width:36px;height:36px;top:-17px;left:15px}.c2[data-v-a57837cc]:after{width:26px;height:26px;top:-10px;left:47px}.c3[data-v-a57837cc]{opacity:.75;width:66px;animation-duration:15s;animation-delay:-8s;top:16%;left:74%}.c3[data-v-a57837cc]:before{width:28px;height:28px;top:-13px;left:12px}.c3[data-v-a57837cc]:after{width:20px;height:20px;top:-8px;left:37px}.c4[data-v-a57837cc]{opacity:.6;width:96px;animation-duration:12s;animation-delay:-6s;top:52%;left:32%}@keyframes cloud-drift-a57837cc{0%{transform:translate(-14px)}to{transform:translate(18px)}}.bird[data-v-a57837cc]{color:#35648c;opacity:.8;width:26px;animation:16s linear infinite bird-fly-a57837cc;position:absolute}.b1[data-v-a57837cc]{top:20%;left:-4%}.b2[data-v-a57837cc]{width:19px;animation-duration:21s;animation-delay:-6s;top:27%;left:-9%}.b3[data-v-a57837cc]{width:14px;animation-duration:26s;animation-delay:-12s;top:33%;left:-14%}@keyframes bird-fly-a57837cc{0%{transform:translate(0)translateY(0)}25%{transform:translate(30vw)translateY(-12px)}50%{transform:translate(55vw)translateY(6px)}to{transform:translate(115vw)translateY(-8px)}}.pl-sea[data-v-a57837cc]{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-low) 100%);will-change:transform;transition:transform .95s cubic-bezier(.7,0,.25,1);position:absolute;inset:0;transform:translateY(49.8%)}.preloader.sinking .pl-sea[data-v-a57837cc]{transform:translateY(0)}.ripple[data-v-a57837cc]{fill:#fff3;width:200%;height:34px;position:absolute;left:0}.r1[data-v-a57837cc]{animation:9s linear infinite reverse wave-slide-a57837cc;top:4%}.r2[data-v-a57837cc]{fill:#ffffff21;height:44px;animation:14s linear infinite wave-slide-a57837cc;top:26%}.r3[data-v-a57837cc]{fill:#ffffff17;height:56px;animation:19s linear infinite reverse wave-slide-a57837cc;top:52%}@keyframes wave-slide-a57837cc{0%{transform:translate(0)}to{transform:translate(-50%)}}.pl-hud[data-v-a57837cc]{text-align:center;flex-direction:column;align-items:center;gap:10px;transition:opacity .45s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preloader.sinking .pl-hud[data-v-a57837cc]{opacity:0}.pl-name[data-v-a57837cc]{font-family:var(--font-display);letter-spacing:.04em;color:#0b3a5c;text-shadow:0 1px #ffffff8c,0 10px 28px #0d5c8c40;margin:0;font-size:clamp(1.7rem,4.5vw,2.6rem);font-weight:700;animation:1.2s cubic-bezier(.2,.7,.2,1) both name-in-a57837cc,1.2s cubic-bezier(.2,.7,.2,1) both name-track-a57837cc}@keyframes name-in-a57837cc{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes name-track-a57837cc{0%{letter-spacing:.22em}to{letter-spacing:.04em}}.pl-sub[data-v-a57837cc]{letter-spacing:.28em;text-transform:uppercase;font-size:.78rem;font-family:var(--font-mono);color:#2e6489;opacity:0;margin:0;animation:1.2s cubic-bezier(.2,.7,.2,1) .35s both name-in-a57837cc}.pl-bar[data-v-a57837cc]{background:#0b3a5c2e;border-radius:999px;width:min(260px,56vw);height:3px;margin-top:6px;overflow:hidden}.pl-bar span[data-v-a57837cc]{border-radius:inherit;background:linear-gradient(90deg,#0d5c8c,#22d3ee);height:100%;transition:width .1s linear;display:block;box-shadow:0 0 12px #22d3eeb3}.pl-pct[data-v-a57837cc]{font-family:var(--font-mono);color:#1e6fa8;letter-spacing:.14em;font-size:.72rem}@media (prefers-reduced-motion:reduce){.cloud[data-v-a57837cc],.bird[data-v-a57837cc],.ripple[data-v-a57837cc]{animation:none!important}}.cur-root[data-v-511c0230]{z-index:210;pointer-events:none;opacity:1;transition:opacity .25s;position:fixed;inset:0}.cur-root.is-hidden[data-v-511c0230]{opacity:0}.cur-dot[data-v-511c0230]{will-change:transform;background:radial-gradient(circle at 35% 35%,#a5f3fce6,#22d3ee99);border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-5px;box-shadow:0 0 12px #22d3eeb3,inset 0 -1px 2px #fff6}.bubble-trail[data-v-511c0230]{position:absolute;inset:0;overflow:visible}.bubble-trail[data-v-511c0230] .bubble{pointer-events:none;will-change:transform, opacity;background:radial-gradient(circle at 30% 30%,#a5f3fc59,#22d3ee14);border:1px solid #a5f3fc4d;border-radius:50%;position:absolute}@keyframes bubble-rise{0%{opacity:.7;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--drift)), -45px) scale(.3)}}.ambient-bubbles[data-v-7df70ef1]{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.amb-bubble[data-v-7df70ef1]{opacity:var(--op,.4);background:radial-gradient(circle at 32% 30%,#ffffffd9 0%,#ffffff14 42%,#0000 68%);border:1px solid #ffffff73;border-radius:50%;animation:linear infinite bubble-rise-7df70ef1;position:absolute}@keyframes bubble-rise-7df70ef1{0%{transform:translateY(0)translate(0)}25%{transform:translateY(-30vh)translate(8px)}50%{transform:translateY(-60vh)translate(-6px)}75%{transform:translateY(-90vh)translate(7px)}to{transform:translateY(-125vh)translate(0)}}@media (prefers-reduced-motion:reduce){.amb-bubble[data-v-7df70ef1]{opacity:.12;animation:none}}.pm-overlay[data-v-1955e78b]{z-index:999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020b14d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cv-modal-container[data-v-1955e78b]{background:var(--z-bg,#041524);border-radius:var(--r-xl);border:1px solid #7dd3fc26;flex-direction:column;width:min(900px,92vw);height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #020c18cc}.cv-modal-header[data-v-1955e78b]{background:#041524e6;border-bottom:1px solid #7dd3fc26;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.cv-actions[data-v-1955e78b]{align-items:center;display:flex}.pm-close[data-v-1955e78b]{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;transition:all .2s;display:flex}.pm-close[data-v-1955e78b]:hover{background:#fff3;transform:scale(1.1)}.cv-modal-body[data-v-1955e78b]{background:#f8f9fa;flex:1;position:relative}.cv-modal-body iframe[data-v-1955e78b],.cv-pdf-viewer[data-v-1955e78b]{background:0 0;border:none;display:block}.cv-fallback[data-v-1955e78b]{text-align:center;color:#334155;height:100%;font-family:var(--font-body);flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.cv-fallback p[data-v-1955e78b]{margin-bottom:8px}.btn-sm[data-v-1955e78b]{padding:8px 16px;font-size:.9rem}.clamp-3[data-v-c05bb7ad]{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pm-overlay[data-v-c05bb7ad]{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020c18d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pm-container[data-v-c05bb7ad]{overscroll-behavior:contain;border-radius:var(--r-xl);background:linear-gradient(#0c385c 0%,#071f36 60%,#041524 100%);border:1px solid #8fd3f038;width:min(940px,100%);max-height:min(88vh,840px);animation:.38s cubic-bezier(.2,.7,.25,1) modal-slide-up;overflow-y:auto;box-shadow:0 40px 90px #020c18b3}.pm-figure[data-v-c05bb7ad]{aspect-ratio:16/9;background:#041524;position:relative;overflow:hidden}.pm-figure img[data-v-c05bb7ad]{object-fit:cover;width:100%;height:100%;animation:1.4s cubic-bezier(.2,.65,.25,1) both pm-zoom-in-c05bb7ad}.pm-caustic[data-v-c05bb7ad]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.pm-caustic[data-v-c05bb7ad]:before{content:"";background:linear-gradient(115deg,#0000 30%,#beebff17 44%,#ffffff24 50%,#beebff17 56%,#0000 70%);width:200%;height:100%;animation:11s linear infinite wave-slide;position:absolute;top:0;left:0}.pm-figure .project-badge[data-v-c05bb7ad]{z-index:2}.pm-close[data-v-c05bb7ad]{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eaf6ff;background:#04152494;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.2rem;line-height:1;transition:background .25s,transform .25s;display:grid;position:absolute;top:14px;right:14px}.pm-close[data-v-c05bb7ad]:hover{background:#22d3ee47;transform:rotate(90deg)}.pm-body[data-v-c05bb7ad]{grid-template-columns:1.55fr .95fr;gap:clamp(20px,3vw,32px);padding:clamp(20px,3vw,32px) clamp(20px,3vw,32px) 6px;display:grid}.pm-title[data-v-c05bb7ad]{font-family:var(--font-display);letter-spacing:-.01em;color:#f2faff;margin-bottom:12px;font-size:clamp(1.35rem,2.6vw,1.85rem)}.pm-desc[data-v-c05bb7ad],.pm-problem[data-v-c05bb7ad]{color:#c9e4f5;font-size:.94rem;line-height:1.75}.pm-sub[data-v-c05bb7ad]{font-family:var(--font-display);color:#7dd3fc;align-items:center;gap:8px;margin:22px 0 10px;font-size:.98rem;display:flex}.pm-sub svg[data-v-c05bb7ad]{width:16px;height:16px}.pm-feats[data-v-c05bb7ad]{flex-direction:column;gap:8px;display:flex}.pm-feats .bullet-item[data-v-c05bb7ad]{color:#bcd9ec}.pm-side[data-v-c05bb7ad]{border-radius:var(--r-lg);background:#ffffff0d;border:1px solid #8fd3f029;flex-direction:column;align-self:start;gap:14px;padding:20px;display:flex}.pm-info[data-v-c05bb7ad]{flex-direction:column;gap:3px;display:flex}.pm-info-label[data-v-c05bb7ad]{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#bcd9eca8;font-size:.62rem}.pm-info-value[data-v-c05bb7ad]{color:#eff7fd;align-items:center;gap:7px;font-size:.93rem;font-weight:600;display:inline-flex}.pm-info-icon[data-v-c05bb7ad]{width:14px;height:14px;color:var(--accent)}.pm-side-divider[data-v-c05bb7ad]{background:linear-gradient(90deg,#8fd3f047,#0000);height:1px;margin:4px 0}.pm-tech[data-v-c05bb7ad]{flex-wrap:wrap;gap:7px;display:flex}.pm-foot[data-v-c05bb7ad]{flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:18px clamp(20px,3vw,32px) clamp(20px,3vw,28px);display:flex}.pm-anim[data-v-c05bb7ad]{animation:.5s cubic-bezier(.2,.65,.25,1) both pm-fade-rise-c05bb7ad;animation-delay:var(--d,0s)}@keyframes pm-fade-rise-c05bb7ad{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pm-zoom-in-c05bb7ad{0%{transform:scale(1.06)}to{transform:scale(1)}}@media (width<=720px){.pm-body[data-v-c05bb7ad]{grid-template-columns:1fr}.pm-foot .btn[data-v-c05bb7ad]{flex:1;justify-content:center}}.contact-wrap[data-v-fd4294c6]{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,60px);display:grid}.contact-left[data-v-fd4294c6]{flex-direction:column;gap:16px;display:flex}.contact-title[data-v-fd4294c6]{font-family:var(--font-title);letter-spacing:-.02em;color:var(--z-txt,#eff7fd);font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;line-height:1.15}.contact-desc[data-v-fd4294c6]{color:var(--z-txt-soft,#bcd9ec);max-width:48ch;font-size:1rem;line-height:1.6}.contact-list[data-v-fd4294c6]{flex-direction:column;gap:12px;display:flex}.contact-card[data-v-fd4294c6]{background:var(--z-glass,#ffffff0f);border:1px solid var(--z-brd,#ffffff1a);color:var(--z-txt,#eff7fd);border-radius:12px;align-items:center;gap:16px;padding:16px 20px;text-decoration:none;transition:background .3s,transform .3s,border-color .3s;display:flex}.contact-card[data-v-fd4294c6]:hover{background:var(--z-glass-strong,#ffffff1a);border-color:var(--accent,#22d3ee);transform:translate(-6px)}.ci-icon[data-v-fd4294c6]{width:40px;height:40px;color:var(--accent,#22d3ee);background:#22d3ee1a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ci-icon svg[data-v-fd4294c6]{width:18px;height:18px}.ci-text[data-v-fd4294c6]{flex-direction:column;gap:2px;display:flex}.ci-label[data-v-fd4294c6]{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--z-txt-soft,#bcd9ec);font-size:.7rem}.ci-value[data-v-fd4294c6]{font-family:var(--font-display);color:var(--z-txt,#eff7fd);font-size:.95rem;font-weight:500}@media (width<=900px){.contact-wrap[data-v-fd4294c6]{grid-template-columns:1fr;gap:32px}}.footer-inner[data-v-a039447e]{justify-content:flex-start;align-items:flex-end;display:flex}.footer-copy[data-v-a039447e]{color:var(--z-txt-soft,#bcd9ec);font-size:.82rem}.back-top-fab[data-v-a039447e]{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#7ef0ff;cursor:pointer;background:#04192ab3;border:1px solid #22d3ee59;border-radius:50%;place-items:center;width:44px;height:44px;transition:transform .25s,background .25s,border-color .25s;display:grid;position:fixed;bottom:28px;right:28px;box-shadow:0 6px 20px #020c1880}.back-top-fab[data-v-a039447e]:hover{background:#22d3ee26;border-color:#7ef0ffa6;transform:translateY(-3px)}:root{--sky-top:#bee7fa;--sky-low:#8fd3f0;--mid-a:#4fb3e0;--mid-b:#1e6fa8;--deep-a:#0e4a78;--deep-b:#083254;--abyss-a:#0a2540;--abyss-b:#041524;--accent:#22d3ee;--ink:#0b3a5c;--primary-a:#1e88c7;--primary-b:#0d5c8c;--r-lg:20px;--r-xl:28px;--font-display:"Outfit", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"JetBrains Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:86px}body{font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;background:#8ec9f0;overflow-x:hidden}body.no-scroll{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}ul{list-style:none}::selection{background:#22d3ee59}html.cursor-fx,html.cursor-fx *{cursor:none!important}.glass:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(230px circle at var(--mx,-600px) var(--my,-600px), #cdf0ff2b, transparent 62%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.glass:hover:after{opacity:1}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#041524}::-webkit-scrollbar-thumb{background:linear-gradient(#1e6fa8,#0a2540);border:2px solid #041524;border-radius:99px}.container{z-index:2;width:min(1160px,100% - 48px);margin-inline:auto;position:relative}.section-pad{padding:clamp(72px,9vw,120px) 0;position:relative}.section-pad-sm{padding:clamp(36px,5vw,56px) 0;position:relative}.section-head{align-items:center;gap:22px;margin-bottom:clamp(36px,5vw,56px);display:flex}.section-badge{font-family:var(--font-display);letter-spacing:-.01em;color:var(--z-txt,#fff);white-space:nowrap;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.section-badge small{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--z-txt-soft,#dff3ff);margin-bottom:8px;font-size:.68rem;font-weight:400;display:block}.divider-line{background:linear-gradient(90deg, var(--z-line,#ffffff59), transparent);flex:1;height:1px}.section-head .divider-line{transform-origin:0;transition:transform .9s cubic-bezier(.2,.65,.25,1) .25s;transform:scaleX(0)}.section-head.visible .divider-line{transform:scaleX(1)}.hero-name,.section-badge,.project-title,.edu-school,.cert-title,.pm-title{text-wrap:balance}.hero-desc,.project-desc,.cert-desc,.edu-program{text-wrap:pretty}.entrance{opacity:0;transition:opacity .7s cubic-bezier(.2,.65,.25,1),transform .7s cubic-bezier(.2,.65,.25,1);transition-delay:var(--entrance-delay,0s);transform:translateY(26px)}.entrance.visible{opacity:1;transform:translateY(0)}.reveal-draw-y{transform-origin:top;transition:transform .9s cubic-bezier(.65,0,.3,1) .15s;transform:scaleY(0)}.reveal-draw-y.visible{transform:scaleY(1)}@keyframes dot-ping{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(3.4)}}#hero{--z-txt:#0b3a5c;--z-txt-soft:#2e6489;--z-line:#0b3a5c42;--z-glass:#ffffff70;--z-glass-strong:#ffffff9e;--z-brd:#ffffffbf;--z-btn-brd:#0b3a5c6b;--z-chip:#ffffff80;--z-glow:#1e6fa824;--z-shadow:0 18px 44px #0b3a5c24;background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-low) 100%)}.zone-mid{--z-txt:#fff;--z-txt-soft:#dff3ff;--z-line:#ffffff57;--z-glass:#ffffff21;--z-glass-strong:#ffffff30;--z-brd:#ffffff52;--z-btn-brd:#ffffff73;--z-chip:#ffffff26;--z-glow:#8fd3f038;--z-shadow:0 18px 44px #08325447;background:linear-gradient(180deg, #8fd3f0 0%, var(--mid-a) 32%, var(--mid-b) 100%)}.zone-deep{--z-txt:#f2faff;--z-txt-soft:#cfe9fa;--z-line:#cfe9fa3d;--z-glass:#ffffff14;--z-glass-strong:#ffffff21;--z-brd:#a0d2fa38;--z-btn-brd:#cfe9fa66;--z-chip:#ffffff1a;--z-glow:#50a0e629;--z-shadow:0 20px 48px #020c1873;background:linear-gradient(180deg, #1e6fa8 0%, var(--deep-a) 40%, var(--deep-b) 100%)}.zone-trench{--z-txt:#eaf6ff;--z-txt-soft:#cfe9fa;--z-line:#cfe9fa33;--z-glass:#ffffff0f;--z-glass-strong:#ffffff1a;--z-brd:#a0d2fa2e;--z-btn-brd:#cfe9fa57;--z-chip:#ffffff14;--z-glow:#50a0e621;--z-shadow:0 20px 48px #020c1880;background:linear-gradient(180deg, var(--deep-b) 0%, #062742 55%, #052038 100%)}.zone-abyss{--z-txt:#eff7fd;--z-txt-soft:#bcd9ec;--z-line:#bcd9ec33;--z-glass:#ffffff0f;--z-glass-strong:#ffffff1a;--z-brd:#8cc3eb2e;--z-btn-brd:#bcd9ec59;--z-chip:#ffffff17;--z-glow:#22d3ee1f;--z-shadow:0 20px 52px #00060e99;background:linear-gradient(180deg, #052038 0%, var(--abyss-a) 45%, var(--abyss-b) 100%)}.zone-mid,.zone-deep,.zone-trench,.zone-abyss{position:relative;overflow:hidden}.zone-deep:before,.zone-trench:before,.zone-abyss:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#8fd3f024,#0000);height:34%;position:absolute;inset:0 0 auto}.plankton-layer:after{content:"";pointer-events:none;z-index:0;opacity:.55;background-image:radial-gradient(2px 2px at 12% 22%,#ffffffb3,#0000 60%),radial-gradient(1.6px 1.6px at 34% 64%,#d6f0ff8c,#0000 60%),radial-gradient(2.2px 2.2px at 57% 38%,#ffffff73,#0000 60%),radial-gradient(1.4px 1.4px at 71% 78%,#d6f0ff80,#0000 60%),radial-gradient(2px 2px at 84% 18%,#ffffff8c,#0000 60%),radial-gradient(1.8px 1.8px at 44% 86%,#fff6,#0000 60%),radial-gradient(1.3px 1.3px at 91% 56%,#d6f0ff80,#0000 60%),radial-gradient(2.1px 2.1px at 23% 46%,#ffffff73,#0000 60%);animation:26s ease-in-out infinite alternate plankton-drift;position:absolute;inset:-20%}@keyframes plankton-drift{0%{transform:translate(-16px,-10px)}to{transform:translate(18px,14px)}}.wave-seam{pointer-events:none;z-index:0;width:100%;height:clamp(44px,6vw,76px);position:absolute;top:0;left:0}.wave-seam svg{width:200%;height:100%;position:absolute;top:0;left:0}.wave-seam .ws-a{animation:18s linear infinite wave-slide}.wave-seam .ws-b{opacity:.5;animation:27s linear infinite reverse wave-slide}.ws-mid path{fill:#8fd3f0}.ws-deep path{fill:#1e6fa8}.ws-trench path{fill:#083254}.ws-abyss path{fill:#052038}.rays{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.ray{filter:blur(14px);transform-origin:top;background:linear-gradient(#ffffff9e,#0000 82%);width:clamp(90px,12vw,190px);height:75%;animation:9s ease-in-out infinite alternate ray-sway;position:absolute;top:-12%}.ray:first-child{left:8%;transform:rotate(14deg)}.ray:nth-child(2){opacity:.7;animation-delay:-3s;left:34%;transform:rotate(10deg)}.ray:nth-child(3){opacity:.85;animation-delay:-6s;left:63%;transform:rotate(16deg)}.ray:nth-child(4){opacity:.55;animation-delay:-1.5s;left:86%;transform:rotate(8deg)}@keyframes ray-sway{0%{opacity:.55}to{opacity:1}}.weed-edge{pointer-events:none;z-index:1;transform-origin:bottom;width:clamp(150px,22vw,300px);animation:7s ease-in-out infinite alternate weed-sway;position:absolute;bottom:-6px}.weed-edge.left{left:-18px}.weed-edge.right{right:-18px;scale:-1 1}@keyframes weed-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2.4deg)}}.coral-edge{pointer-events:none;z-index:1;opacity:.9;width:clamp(180px,24vw,340px);position:absolute;bottom:0}.coral-edge.left{left:-12px}.coral-edge.right{right:-12px;scale:-1 1}.fish-lane{pointer-events:none;z-index:1;animation:linear infinite fish-cross;position:absolute;left:0}.fish-body{animation:3.4s ease-in-out infinite alternate fish-bob;display:block}@keyframes fish-cross{0%{transform:translate(-140px)}to{transform:translate(calc(100vw + 140px))}}@keyframes fish-bob{0%{transform:translateY(-8px)scaleX(-1)}to{transform:translateY(8px)scaleX(-1)}}.sand-bed{pointer-events:none;z-index:1;height:clamp(60px,9vw,110px);position:absolute;inset:auto 0 0}.sand-bed svg{width:100%;height:100%;position:absolute;inset:0}.sand-back path{fill:#1e4e7680}.sand-front path{fill:#071a2e}.nav{z-index:50;--nv-txt:#0b3a5c;--nv-sub:#0b3a5ca8;--nv-bg:#ffffff85;--nv-brd:#fff9;background:var(--nv-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--nv-brd);border-radius:999px;width:min(650px,100% - 28px);transition:background .35s,border-color .35s,box-shadow .35s;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff59,0 8px 26px #0415241f}.nav.scrolled{background:var(--nv-bg);box-shadow:inset 0 1px #ffffff4d,0 14px 38px #04152438}.nav.mid-z{--nv-txt:#fff;--nv-sub:#dff3ffc7;--nv-bg:#0f4a7873;--nv-brd:#fff3}.nav.deep-z{--nv-txt:#eaf6ff;--nv-sub:#cfe9fab3;--nv-bg:#0414239e;--nv-brd:#78bef029}.nav-inner{grid-template-columns:1fr auto 1fr;align-items:center;height:58px;padding-inline:24px 10px;display:grid}.nav-brand{justify-self:start}.nav-links{justify-self:center}.nav-inner .burger{justify-self:end}.nav-brand{font-family:var(--font-display);color:var(--nv-txt);background:0 0;border:none;align-items:center;gap:9px;font-size:.98rem;font-weight:600;display:flex}.nav-brand-dot{background:radial-gradient(circle at 32% 30%, #fff 0%, var(--accent) 55%, #0e7490 100%);border-radius:50%;width:9px;height:9px;animation:3s ease-in-out infinite dot-pulse;box-shadow:0 0 12px #22d3eecc}@keyframes dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.28)}}.nav-links{gap:6px;display:flex}.nav-link{color:var(--nv-sub);background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:500;transition:color .25s,background .25s}.nav-link:hover{color:var(--nv-txt);background:#7fb0d424}.nav-link.active{color:var(--nv-txt);background:#22d3ee29;box-shadow:inset 0 0 0 1px #22d3ee4d}.burger{border:1px solid var(--nv-brd);background:0 0;border-radius:999px;flex-direction:column;gap:5px;padding:11px 10px;display:none}.burger span{background:var(--nv-txt);border-radius:2px;width:20px;height:2px;transition:transform .3s;display:block}.burger.open span:first-child{transform:translateY(3.5px)rotate(45deg)}.burger.open span:nth-child(2){transform:translateY(-3.5px)rotate(-45deg)}.mobile-menu{background:var(--nv-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--nv-brd);opacity:0;pointer-events:none;border-radius:26px;flex-direction:column;padding:12px;transition:opacity .28s,transform .28s;display:none;position:absolute;top:calc(100% + 10px);left:10px;right:10px;transform:translateY(-12px);box-shadow:0 24px 48px #04152459}.mobile-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mob-link{text-align:left;color:var(--nv-sub);background:0 0;border:none;border-radius:14px;padding:13px 16px;font-size:.92rem;font-weight:500}.mob-link:hover,.mob-link.active{color:var(--nv-txt);background:#22d3ee24}@media (width<=900px){.nav-links{display:none}.nav-inner{grid-template-columns:auto auto;justify-content:space-between}.burger,.mobile-menu{display:flex}}.btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:9px;padding:13px 24px;font-size:.92rem;font-weight:600;line-height:1;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s,opacity .25s;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:40%;position:absolute;top:-10%;bottom:-10%;left:-60%;transform:skew(-20deg)}.btn:hover:after{animation:.8s btn-sheen}@keyframes btn-sheen{0%{opacity:1;left:-60%}to{opacity:1;left:130%}}.btn-icon{width:15px;height:15px}.btn-primary{background:linear-gradient(135deg, var(--primary-a), var(--primary-b));color:#fff;box-shadow:0 10px 26px #0d5c8c66}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px #0d5c8c85}.btn-outline{border-color:var(--z-btn-brd,#ffffff73);color:var(--z-txt,#fff);background:0 0}.btn-outline:hover{border-color:var(--z-txt,#fff);box-shadow:0 0 0 4px var(--z-glow,#8fd3f033);transform:translateY(-3px)}.btn-ghost{color:var(--z-txt-soft,#dff3ff);background:0 0;border-color:#1e6fa84d;padding-inline:14px}.btn-ghost:hover{color:var(--accent)}.neon-btn{color:#04222c;background:linear-gradient(135deg,#22d3ee,#0891b2);box-shadow:0 10px 30px #22d3ee59}.neon-btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px #22d3ee80}.btn-deep{color:#eff7fd;background:#ffffff12;border-color:#bcd9ec4d}.btn-deep:hover{border-color:#bcd9eca6;transform:translateY(-3px)}.glass{background:var(--z-glass,#ffffff21);border:1px solid var(--z-brd,#ffffff52);border-radius:var(--r-xl);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px var(--z-glow,transparent), var(--z-shadow,0 18px 44px #08325447);position:relative}.glass-strong{background:var(--z-glass-strong,#ffffff30)}.glass-hover{transition:transform .3s,box-shadow .3s,border-color .3s}.glass-hover:hover{box-shadow:0 0 0 1px var(--z-glow,transparent), 0 26px 54px #04152466;border-color:#ffffff8c;transform:translateY(-6px)}#scroll-progress{z-index:60;background:linear-gradient(90deg,#8fd3f0,#4fb3e0,#22d3ee);height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.depth-gauge{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#04152480;border:1px solid #8fd3f033;border-radius:999px;flex-direction:column;align-items:center;gap:10px;padding:14px 9px;display:flex;position:fixed;top:50%;right:22px;transform:translateY(-50%)}.dg-depth{font-family:var(--font-mono);letter-spacing:.08em;color:#bfe6f7;writing-mode:vertical-rl;font-size:.62rem}.dg-track{background:#ffffff24;border-radius:99px;width:4px;height:130px;position:relative;overflow:hidden}.dg-fill{border-radius:inherit;background:linear-gradient(#8fd3f0,#22d3ee);position:absolute;inset:auto 0 0}.dg-marker{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #22d3eee6}@media (width<=1100px){.depth-gauge{display:none}}.hero-grid{grid-template-columns:1.25fr .85fr;align-items:center;gap:clamp(32px,5vw,72px);padding-left:clamp(16px,4vw,32px);display:grid}.hero-card{flex-direction:column;gap:22px;padding:clamp(30px,4vw,52px);display:flex}.hero-text{flex-direction:column;gap:18px;display:flex;position:relative}.hero-text .hero-tag{color:#1e6fa8;background:#ffffff8c;box-shadow:inset 0 0 0 1px #4fb3e059}.hero-text .hello-text{color:#2e6489}.hero-text .hero-name{background:linear-gradient(120deg,#0b3a5c 20%,#1e6fa8 75%,#0e7490);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-text .hero-role{color:#0d5c8c}.hero-text .hero-desc{color:#33607f}.hero-text .hero-meta{color:#2e6489}.hero-text .btn-outline{color:var(--ink);border-color:#1e6fa88c}.hero-text .btn-ghost{color:#1e6fa8;border-color:#1e6fa84d}.hero-tag{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:#1e6fa8;background:#ffffff8c;border-radius:999px;align-self:flex-start;align-items:center;gap:9px;padding:8px 16px;font-size:.7rem;display:inline-flex;box-shadow:inset 0 0 0 1px #4fb3e059}.hero-tag-dot{background:var(--primary-a);border-radius:50%;width:7px;height:7px;animation:2.6s ease-in-out infinite dot-pulse}.hello-text{font-size:clamp(.95rem,1.4vw,1.1rem);font-family:var(--font-body);color:#1e6fa8;margin-bottom:4px;font-weight:500}.hero-name{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(120deg,#0b3a5c 20%,#1e6fa8 75%,#0e7490);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.6rem,5.8vw,4.2rem);font-weight:600;line-height:1.05}.hero-text:not(.visible) .hero-name{opacity:0}.hero-text.visible .hero-name{animation:.95s cubic-bezier(.2,.7,.2,1) .4s backwards name-surface}@keyframes name-surface{0%{clip-path:inset(0 0 105%);opacity:0;transform:translateY(30px)}40%{opacity:1}to{clip-path:inset(-20% 0 -10%);opacity:1;transform:translateY(0)}}.hero-role{font-family:var(--font-body);letter-spacing:-.01em;color:#0b3a5c;margin-top:8px;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:600}.hero-meta{flex-wrap:wrap;gap:12px 22px;font-size:.82rem;display:flex}.hero-meta svg{vertical-align:middle;width:14px;height:14px;margin-right:5px}.hero-location{color:#0b3a5c;align-items:center;gap:6px;font-weight:500;display:flex}.hero-status i{background:#10b981;border-radius:50%;width:8px;height:8px;margin-right:7px;animation:2s ease-in-out infinite dot-pulse;display:inline-block;box-shadow:0 0 0 4px #10b9812e}.hero-ctas{flex-wrap:wrap;gap:13px;display:flex}.hero-side{justify-content:center;display:flex}.capsule-wrap{aspect-ratio:3/4;width:clamp(230px,24vw,300px);position:relative}.capsule{border:4px solid #ffffffbf;border-radius:999px;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 1px #4fb3e073,0 30px 60px #0b3a5c47,inset 0 0 40px #8fd3f059}.capsule img{object-fit:cover;width:100%;height:100%}.capsule:after{content:"";filter:blur(3px);pointer-events:none;background:linear-gradient(135deg,#ffffffd9,#fff0);border-radius:50%;width:42%;height:20%;position:absolute;top:5%;left:12%}.capsule-ring{border:1.6px dashed #1e6fa866;border-radius:999px;animation:26s linear infinite slow-spin;position:absolute;inset:-16px}@keyframes slow-spin{to{transform:rotate(360deg)}}.orbit-bubble{background:radial-gradient(circle at 32% 30%,#fffffff2,#ffffff0f 46%,#0000 70%);border:1.5px solid #ffffffd9;border-radius:50%;animation:5.2s ease-in-out infinite alternate bubble-float;position:absolute;box-shadow:0 6px 16px #1e6fa82e}.ob-1{width:26px;height:26px;animation-delay:0s;top:6%;left:-13%}.ob-2{width:15px;height:15px;animation-delay:-1.4s;top:34%;left:-19%}.ob-3{width:34px;height:34px;animation-delay:-2.8s;bottom:12%;left:-15%}.ob-4{width:19px;height:19px;animation-delay:-.9s;top:12%;right:-11%}.ob-5{width:29px;height:29px;animation-delay:-2s;bottom:26%;right:-17%}.ob-6{width:12px;height:12px;animation-delay:-3.6s;bottom:-4%;right:8%}@keyframes bubble-float{0%{transform:translate(-6px,-9px)}to{transform:translate(7px,10px)}}.skills-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}@media (width<=900px){.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.skill-group{padding:26px 26px 28px;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}.skill-group:hover{z-index:2;border-color:#22d3ee80;transform:translateY(-8px)scale(1.02);box-shadow:0 16px 36px #04152466,inset 0 0 20px #22d3ee0d}.skill-label{font-family:var(--font-display);color:var(--z-txt);align-items:center;gap:10px;margin-bottom:18px;font-size:1.02rem;font-weight:600;display:flex}.skill-dot{border-radius:50%;width:9px;height:9px}.dot-cyan{background:#22d3ee;box-shadow:0 0 10px #22d3eecc}.dot-ice{background:#8fd3f0;box-shadow:0 0 10px #8fd3f0cc}.dot-foam{background:#a7f3d0;box-shadow:0 0 10px #a7f3d0b3}.group-chips{flex-wrap:wrap;gap:10px;display:flex}.chip-icon{background:var(--z-chip);box-shadow:inset 0 0 0 1px var(--z-brd);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;transition:transform .25s,background .25s;display:inline-flex}.chip-icon:hover{background:var(--z-glass-strong);transform:translateY(-3px)}.skill-group:not(.visible) .chip-icon{opacity:0;transform:translateY(16px)scale(.9)}.skill-group.visible .chip-icon{animation:.55s cubic-bezier(.34,1.45,.5,1) backwards chip-rise;animation-delay:calc(var(--entrance-delay,0s) + .35s + var(--chip-i,0) * 50ms)}@keyframes chip-rise{0%{opacity:0;transform:translateY(16px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.chip-img{object-fit:contain;width:17px;height:17px}.img-invert{filter:invert()brightness(1.6)}.chip-name{color:var(--z-txt);font-size:.82rem;font-weight:500}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{cursor:pointer;flex-direction:column;display:flex;overflow:hidden}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.project-img-box:before{content:"";z-index:1;pointer-events:none;opacity:0;background:linear-gradient(#04152400 45%,#04152480);transition:opacity .3s;position:absolute;inset:0}.project-card:hover .project-img-box:before,.project-card:focus-visible .project-img-box:before{opacity:1}.project-img-box{aspect-ratio:16/10;position:relative;overflow:hidden}.project-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-img{transform:scale(1.06)}.project-img-box:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(115deg,#0000 32%,#ffffff52 46%,#beebff3d 52%,#0000 66%);position:absolute;inset:0;transform:translate(-130%)}.project-card.visible .project-img-box:after{animation:1.15s cubic-bezier(.45,.05,.2,1) .5s backwards water-glint}@keyframes water-glint{0%{transform:translate(-130%)}to{transform:translate(130%)}}.project-badge{z-index:2;font-family:var(--font-mono);letter-spacing:.14em;color:#7dd3fc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#041524b8;border:1px solid #7dd3fc59;border-radius:999px;padding:6px 13px;font-size:.66rem;position:absolute;top:14px;left:14px}.project-content{flex-direction:column;flex:1;gap:14px;padding:24px;display:flex}.project-title{font-family:var(--font-display);color:var(--z-txt);font-size:1.18rem}.project-desc{color:var(--z-txt-soft);font-size:.88rem;line-height:1.7}.project-bullets{flex-direction:column;gap:8px;display:flex}.bullet-item{color:var(--z-txt-soft);align-items:baseline;gap:9px;font-size:.82rem;line-height:1.55;display:flex}.bullet-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 8px #22d3eecc}.project-tech-tags{flex-wrap:wrap;gap:7px;margin-top:auto;display:flex}.tech-tag{font-family:var(--font-mono);letter-spacing:.06em;color:#a5e7fb;background:#22d3ee1a;border-radius:999px;padding:5px 11px;font-size:.64rem;box-shadow:inset 0 0 0 1px #22d3ee47}.btn-detail{background:linear-gradient(135deg, var(--primary-a), var(--primary-b));color:#fff;margin-top:2px;padding:11px 18px;font-size:.85rem;box-shadow:0 8px 20px #0d5c8c59}.btn-detail:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0d5c8c80}.card-footer{border-top:1px solid var(--z-line);justify-content:space-between;align-items:center;margin-top:2px;padding-top:14px;display:flex}.card-link{color:var(--accent);align-items:center;gap:6px;font-size:.82rem;font-weight:600;transition:opacity .25s,gap .25s;display:inline-flex}.card-link:hover{opacity:.75;gap:9px}.log-block+.log-block{margin-top:clamp(56px,7vw,88px)}.log-title{font-family:var(--font-display);color:var(--z-txt);align-items:center;gap:12px;margin-bottom:28px;font-size:clamp(1.15rem,2vw,1.4rem);display:flex}.log-title svg{width:20px;height:20px;color:var(--accent)}.log-line{background:linear-gradient(90deg, var(--z-line), transparent);flex:1;height:1px}.edu-layout{grid-template-columns:1fr;display:grid}.edu-timeline{flex-direction:column;gap:28px;display:flex;position:relative}.edu-timeline-line{background:linear-gradient(180deg, var(--accent), #22d3ee0d);width:2px;position:absolute;top:10px;bottom:10px;left:50%;transform:translate(-50%)}.edu-entry{width:calc(50% - 36px);position:relative}.edu-entry.from-left{margin-right:auto}.edu-entry.from-right{margin-left:auto}.edu-dot{background:radial-gradient(circle at 32% 30%, #fff, var(--accent) 60%);border-radius:50%;width:14px;height:14px;position:absolute;top:26px;box-shadow:0 0 0 5px #22d3ee2e,0 0 16px #22d3ee99}.edu-entry.from-left .edu-dot{right:-43px}.edu-entry.from-right .edu-dot{left:-43px}@media (width<=760px){.edu-timeline{gap:22px;padding-left:30px}.edu-timeline-line{bottom:8px;left:7px;transform:none}.edu-entry,.edu-entry.from-right,.edu-entry.from-left{width:auto;margin:0}.edu-entry.from-left .edu-dot,.edu-entry.from-right .edu-dot{left:-29px;right:auto}}.edu-entry.visible .edu-dot:after{content:"";border:2px solid #22d3eebf;border-radius:50%;animation:1s cubic-bezier(.2,.6,.3,1) .55s backwards dot-ping;position:absolute;inset:-2px}.edu-card{padding:24px 26px}.edu-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.edu-icon-wrap{width:44px;height:44px;color:var(--accent);background:#22d3ee1a;border-radius:14px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #22d3ee4d}.edu-period{font-family:var(--font-mono);letter-spacing:.12em;color:var(--z-txt-soft);background:var(--z-chip);box-shadow:inset 0 0 0 1px var(--z-brd);border-radius:999px;padding:6px 12px;font-size:.7rem}.edu-school{font-family:var(--font-display);color:var(--z-txt);margin-bottom:6px;font-size:1.15rem}.edu-program{color:var(--z-txt-soft);font-size:.88rem}.certs-grid{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:22px;display:grid}.cert-card{flex-direction:column;gap:12px;padding:26px;display:flex;position:relative;overflow:hidden}.cert-card:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 10%,#beebff21 42%,#ffffff42 50%,#beebff21 58%,#0000 90%);width:46%;position:absolute;top:-70%;bottom:-70%;left:-80%;transform:skew(-14deg)translate(0)}.cert-card.visible:after{animation:1.5s ease-in-out .65s backwards treasure-shine}@keyframes treasure-shine{to{transform:skew(-14deg)translate(430%)}}.cert-issuer{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#ffd9a0;background:#ffd18217;border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:.66rem;box-shadow:inset 0 0 0 1px #ffd18247}.cert-title{font-family:var(--font-display);color:var(--z-txt);font-size:1.12rem;line-height:1.35}.cert-desc{color:var(--z-txt-soft);flex:1;font-size:.86rem;line-height:1.68}.cert-footer{border-top:1px solid var(--z-line);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.cert-year{font-family:var(--font-mono);color:var(--z-txt-soft);font-size:.74rem}.cert-stamp{color:#6ee7b7;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;background:#10b98114;border:1.5px solid #6ee7b78c;border-radius:9px;align-items:center;gap:6px;padding:6px 12px;font-size:.66rem;display:inline-flex;transform:rotate(-3deg)}.cert-stamp svg{width:12px;height:12px}.cert-card.visible .cert-stamp{animation:.5s cubic-bezier(.34,1.56,.5,1) 1.05s backwards stamp-in}@keyframes stamp-in{0%{opacity:0;transform:rotate(-16deg)scale(1.8)}to{opacity:1;transform:rotate(-3deg)scale(1)}}.footer{z-index:2;padding:10px 0 clamp(70px,10vw,120px);position:relative}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.footer-copy{color:var(--z-txt-soft);font-size:.84rem;font-weight:500}.footer-note{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#bcd9ec73;font-size:.68rem}@media (width<=1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.hero-grid{grid-template-columns:1fr}.hero-side{order:-1}}@media (width<=768px){.projects-grid,.skills-grid{grid-template-columns:1fr}.fish-lane,.weed-edge.right,.coral-edge.right,.ray:nth-child(3),.ray:nth-child(4){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:.01ms!important}.entrance{opacity:1;transform:none}}
