.env-banner[data-astro-cid-5xxju5qa]{background:linear-gradient(90deg,#ffffff05,#ffffff03);text-align:center;padding:6px 0;color:#fff;font-weight:700}.env-banner[data-astro-cid-5xxju5qa][data-env=dev]{background:#3b82f6}.env-banner[data-astro-cid-5xxju5qa][data-env=qa]{background:#f59e0b}.env-banner[data-astro-cid-5xxju5qa] .env-inner[data-astro-cid-5xxju5qa]{max-width:1200px;margin:0 auto;padding:2px 12px}:root{--bg: #0b1220;--surface: #0f172a;--muted: #94a3b8;--text: #e2e8f0;--accent: #1fb6a0;--accent-2: #5b6bff;--glass: rgba(148, 163, 184, .08);--glass-strong: rgba(15, 23, 42, .82);--radius: 14px;--glass-blur: 12px;--shadow: 0 25px 80px rgba(0, 0, 0, .45);--max-width: 1280px;--font-heading: "Space Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}.skip-link{position:absolute;top:-40px;left:16px;z-index:100;background:var(--accent);color:#0f172a;padding:8px 16px;border-radius:6px;font-weight:600;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:8px}html,body{height:100%}html{scroll-behavior:smooth}body{background-color:#111d3b;margin:0;padding:0;overflow-y:auto;overflow-x:hidden;font-family:var(--font-body);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;background-attachment:fixed;background-repeat:no-repeat;background-size:cover;min-height:100vh}::selection{background:#5eead4;color:#0f172a}.container{max-width:var(--max-width);margin:0 auto;padding:clamp(32px,4vw,48px) clamp(16px,4vw,28px) clamp(56px,5vw,72px)}.page-wrap{position:relative;z-index:2;background:transparent}main{background:transparent}.bg-spotlight{position:fixed;inset:0;pointer-events:none;z-index:0}.bg-spotlight:before{content:"";position:fixed;inset:0;pointer-events:none;background:#0000001f;z-index:0}.bg-spotlight:after{content:"";position:absolute;inset:-20% -10% auto;width:140vmax;height:140vmax;background:radial-gradient(40% 40% at 30% 35%,rgba(45,212,191,.1),transparent 55%),radial-gradient(38% 38% at 70% 30%,rgba(99,102,241,.1),transparent 58%),radial-gradient(42% 42% at 45% 70%,rgba(15,155,255,.08),transparent 60%);filter:blur(120px);opacity:.8;transform:translateZ(0);mix-blend-mode:screen;animation:bg-aurora 26s ease-in-out infinite alternate;z-index:0}@keyframes bg-aurora{0%{transform:translate3d(-6%,-4%,0) scale(1)}50%{transform:translate3d(4%,6%,0) scale(1.06)}to{transform:translate3d(8%,-2%,0) scale(1.04)}}@media(prefers-reduced-motion:reduce){.bg-spotlight:after{animation:none}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text);letter-spacing:-.01em}.headline{font-size:clamp(38px,4.5vw,60px);font-weight:700;font-family:var(--font-heading);margin:0 0 16px;line-height:1.05;color:var(--text);letter-spacing:-.02em}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--accent);margin:0 0 10px;display:block}.sub{font-size:18px;color:var(--muted);margin:0 0 28px;max-width:640px;line-height:1.7}section h1{font-size:clamp(32px,4vw,40px);font-weight:700;margin:0 0 26px;color:var(--text);line-height:1.08}section h2{font-size:clamp(26px,3.4vw,32px);font-weight:700;margin:0 0 28px;color:var(--text);line-height:1.1}.site-header{position:sticky;top:0;backdrop-filter:blur(8px);background:linear-gradient(180deg,#0f172aeb,#0f172ab8);border-bottom:1px solid rgba(148,163,184,.16);z-index:40}.site-header .inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1200px;margin:0 auto;width:100%}.logo{font-weight:700;font-size:18px;font-family:var(--font-heading);color:var(--text);text-decoration:none}.nav{position:relative;display:flex;align-items:center;gap:32px;height:44px}.nav-link{color:var(--muted);text-decoration:none;font-size:14px;position:relative;padding:0 2px;transition:color .22s cubic-bezier(.4,0,.2,1);z-index:2}.nav-link:hover,.nav-link:focus{color:var(--accent)}.nav-underline{position:absolute;bottom:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:2px;transition:left .28s cubic-bezier(.4,1.6,.6,1),width .28s cubic-bezier(.4,1.6,.6,1),opacity .18s;opacity:0;z-index:1}@media(min-width:761px)and (max-width:1024px){.site-header .inner{padding:14px 16px}.nav{gap:20px}.nav-link{font-size:13px}.logo{font-size:16px}}@media(max-width:760px){.site-header .inner{padding:12px;flex-wrap:wrap;justify-content:center;gap:8px}.logo{width:100%;text-align:center;font-size:16px}.nav{gap:16px;justify-content:center;flex-wrap:wrap}.nav-link{font-size:13px}}html,body{overflow-x:hidden}img,svg{max-width:100%;height:auto}.hero-section{width:100%;padding:48px 0 64px;position:relative}.hero-container{display:grid;grid-template-columns:1fr;gap:32px;max-width:1100px;margin:0 auto;padding:0 24px;align-items:center;text-align:center}.hero-text-content{display:flex;flex-direction:column;gap:12px;min-width:0}.hero-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--accent);margin-bottom:4px}.hero-title{font-size:clamp(32px,8vw,48px);font-weight:800;font-family:var(--font-heading);line-height:1.1;color:var(--text);letter-spacing:-.02em;margin:0}.hero-name-first,.hero-name-last{display:block}.hero-subtitle{font-size:clamp(14px,3vw,18px);color:var(--muted);margin:8px 0 0;line-height:1.5}.hero-tagline{font-size:clamp(13px,2.5vw,16px);color:var(--muted);margin:4px 0 0;line-height:1.6;font-weight:400}.hero-ctas{display:flex;gap:12px;margin-top:20px;justify-content:center;flex-wrap:wrap}.hero-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;font-size:13px;font-weight:500;border-radius:999px;text-decoration:none;transition:background .22s cubic-bezier(.4,0,.2,1),color .22s cubic-bezier(.4,0,.2,1),border-color .22s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),transform .18s ease;cursor:pointer;white-space:nowrap;border:1px solid transparent}.hero-btn:hover{transform:translateY(-2px)}.hero-btn:active{transform:translateY(0)}.hero-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0f172a;box-shadow:0 8px 24px #2dd4bf40}.hero-btn-primary:hover{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.hero-btn-ghost{background:transparent;border-color:var(--muted);color:var(--muted)}.hero-btn-ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 8px 24px #6366f126}.hero-avatar{display:flex;justify-content:center;align-items:center;order:-1}.hero-avatar img{width:100%;max-width:72px;height:auto;object-fit:contain;filter:drop-shadow(0 12px 32px rgba(45,212,191,.18));animation:avatar-float 3.2s ease-in-out infinite alternate}@keyframes avatar-float{0%{transform:translateY(0) scale(1)}to{transform:translateY(-12px) scale(1.02)}}@media(min-width:768px){.hero-section{padding:56px 0 72px}.hero-container{grid-template-columns:1fr 280px;gap:40px;text-align:left}.hero-text-content{gap:8px}.hero-eyebrow{font-size:12px}.hero-title{font-size:clamp(36px,5vw,52px)}.hero-ctas{justify-content:flex-start;gap:16px;flex-wrap:nowrap}.hero-btn{padding:12px 22px;font-size:14px}.hero-avatar{order:0}.hero-avatar img{max-width:140px}}@media(min-width:1024px){.hero-section{padding:64px 0 88px}.hero-container{grid-template-columns:1fr 360px;gap:48px}.hero-eyebrow{font-size:12px;margin-bottom:8px}.hero-title{font-size:clamp(48px,5.5vw,72px)}.hero-subtitle{font-size:18px;margin-top:12px}.hero-tagline{font-size:16px}.hero-ctas{margin-top:28px}.hero-avatar img{max-width:180px}}@media(min-width:1280px){.hero-container{grid-template-columns:1fr 400px;gap:56px;max-width:1200px}.hero-title{font-size:clamp(56px,6vw,80px)}.hero-avatar img{max-width:220px}}@media(max-width:375px){.hero-section{padding:32px 0 48px}.hero-container{padding:0 16px;gap:24px}.hero-title{font-size:clamp(28px,9vw,36px)}.hero-avatar img{max-width:70px}.hero-btn{padding:8px 18px;font-size:12px}}.hero .btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;color:#0f172a!important;border-color:transparent!important;box-shadow:0 10px 30px #2dd4bf47!important}.hero .btn.ghost{background:transparent!important;border-color:var(--muted)!important;color:var(--muted)!important;box-shadow:none!important}.hero .btn.primary:hover{background:transparent!important;color:var(--accent)!important;box-shadow:inset 0 0 0 2px var(--accent)!important}.hero .btn.ghost:hover{border-color:var(--accent)!important;color:var(--accent)!important;box-shadow:0 10px 30px #6366f12e!important}.btn{display:inline-block;padding:12px 22px;border-radius:999px;text-decoration:none;border:1px solid;font-weight:500;font-size:14px;letter-spacing:.01em;transition:background .22s cubic-bezier(.4,0,.2,1),color .22s cubic-bezier(.4,0,.2,1),border-color .22s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),transform .18s ease;cursor:pointer;position:relative;z-index:2}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0f172a;border-color:transparent;box-shadow:0 10px 30px #2dd4bf47}.btn.primary:hover{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.btn.ghost{background:transparent;border-color:var(--muted);color:var(--muted)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 10px 30px #6366f12e}.card{background:linear-gradient(145deg,#0f172ae6,#0f172ab3);border:1px solid rgba(148,163,184,.14);border-radius:12px;padding:clamp(22px,4vw,28px);transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .22s cubic-bezier(.4,0,.2,1),background .28s ease;box-shadow:var(--shadow);position:relative;z-index:2}.card:hover{border-color:#2dd4bfcc;background:linear-gradient(150deg,#090e1cf5,#0a1020e0);box-shadow:0 18px 50px #0000006b,0 0 0 1px #2dd4bf1f;transform:translateY(-5px)}.card .title{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--text)}.project-card{display:flex;flex-direction:column;gap:20px}.project-card .title{font-weight:700;font-size:18px;color:var(--text);margin:0}.project-card .title a{color:var(--text);text-decoration:none;transition:color .2s}.project-card .title a:hover{color:var(--accent)}.project-card .desc{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.tech-tag{display:inline-block;padding:4px 12px;background:#2dd4bf1f;color:#5eead4;border:1px solid rgba(94,234,212,.25);border-radius:999px;font-size:12px;font-weight:600;position:relative;z-index:2}.single-page section{margin-bottom:clamp(56px,8vw,96px)}.split-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}.toast-container{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:12px;z-index:9999;pointer-events:none}.toast{pointer-events:auto;position:relative;display:block;min-width:200px;max-width:420px;background:#0a0e16eb;color:var(--text);padding:12px 40px 12px 14px;border-radius:10px;box-shadow:0 10px 30px #02061799;border:1px solid rgba(255,255,255,.03);transition:transform .18s ease,opacity .18s ease;transform-origin:100% 100%}.toast .toast-body{font-size:14px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.toast .toast-close{position:absolute;top:8px;right:8px;background:transparent;border:0;color:var(--muted);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}.toast .toast-close:hover{color:var(--text);background:#ffffff1a}.toast-success{border-left:4px solid rgba(34,197,94,.9)}.toast-error{border-left:4px solid rgba(239,68,68,.9)}.toast-info{border-left:4px solid rgba(59,130,246,.9)}.toast-hide{opacity:0;transform:translateY(6px) scale(.98)}@media(max-width:520px){.toast-container{left:12px;right:12px;bottom:18px;align-items:center}.toast{width:100%;max-width:100%}}.projects-column h2,.timeline-column h2{color:var(--text)}.projects-list{display:flex;flex-direction:column;gap:18px}.timeline-column{position:relative;padding-left:24px}.about-block,.markdown-render{background:#0f172ad1;border-radius:18px;box-shadow:0 8px 32px #2dd4bf14,0 2px 12px #6366f10f;border:1.5px solid rgba(148,163,184,.13);padding:36px 32px 32px;margin:0 auto 48px;max-width:820px;color:var(--text);font-size:18px;line-height:1.7;backdrop-filter:blur(8px)}.markdown-render h1,.markdown-render h2,.markdown-render h3{color:var(--accent);font-family:var(--font-heading);margin-top:.8em;margin-bottom:.4em;font-weight:700}.markdown-render p,.markdown-render ul,.markdown-render ol{color:var(--text);margin-bottom:1.1em}.markdown-render ul,.markdown-render ol{padding-left:1.5em}.markdown-render li{margin-bottom:.4em;color:var(--text)}.markdown-render strong{color:var(--accent-2)}.glass-section{position:relative;background:linear-gradient(180deg,#ffffff08,#ffffff05);border:1px solid rgba(255,255,255,.04);border-radius:14px;padding:28px;color:var(--text);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);box-shadow:0 10px 30px #02061799;transition:transform .45s cubic-bezier(.2,.9,.3,1),box-shadow .3s ease;overflow:hidden}.glass-section:hover{transform:translateY(-6px);box-shadow:0 18px 50px #020617b8}.glass-section:before{content:"";position:absolute;top:-40%;left:-20%;width:180%;height:180%;background:linear-gradient(120deg,#ffffff0f,#ffffff05,#ffffff02);transform:translate(-40%) rotate(14deg);transition:transform .9s ease;pointer-events:none;mix-blend-mode:overlay}.glass-section:hover:before{transform:translate(0) rotate(14deg)}.glass-pulse{position:absolute;right:-10%;top:-18%;width:320px;height:320px;background:radial-gradient(circle at center,rgba(94,234,212,.1),transparent 40%);filter:blur(26px);animation:glass-pulse 6s ease-in-out infinite;pointer-events:none}@keyframes glass-pulse{0%{transform:scale(.96);opacity:.85}50%{transform:scale(1.06);opacity:1}to{transform:scale(.96);opacity:.85}}.glass-header{margin-bottom:14px}.glass-header h3{margin:0;font-size:18px;color:var(--text)}.glass-header p{margin:6px 0 0;color:var(--muted);font-size:14px}.glass-section--tight{padding:18px;border-radius:12px}.glass-section--wide{padding:36px}.glass-accent-line{position:relative;padding-left:12px}.glass-accent-line:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}@media(max-width:760px){.glass-pulse{display:none}.glass-section{padding:20px}}html.js-loaded .scroll-reveal{opacity:0;transform:translateY(18px) scale(.985);filter:blur(6px);transition:opacity .6s ease,transform .6s ease,filter .6s ease;transition-delay:var(--reveal-delay, 0ms)}html.js-loaded .scroll-reveal.reveal{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}@media(prefers-reduced-motion:reduce){.scroll-reveal,html.js-loaded .scroll-reveal.reveal{transition:none;transform:none;filter:none;opacity:1}}.markdown-render code{background:#6366f11a;color:var(--accent-2);border-radius:6px;padding:2px 6px;font-size:95%}.markdown-render blockquote{border-left:3px solid var(--accent);background:#2dd4bf0f;color:var(--muted);margin:1em 0;padding:.6em 1.2em;border-radius:8px}.timeline{position:relative;padding:40px 0}.timeline-item{display:grid;grid-template-columns:60px 1fr;gap:32px;margin-bottom:48px;position:relative}.timeline-item:before{content:"";position:absolute;left:6px;top:24px;width:28px;height:28px;border-radius:50%;background:var(--bg);border:3px solid var(--accent);z-index:2}.timeline-item:hover:before{box-shadow:0 0 0 8px #00d4ff1a}.timeline-content h3{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.timeline-content .company{color:var(--accent);font-weight:500}.timeline-content p{margin:0 0 16px;font-size:14px;color:var(--muted);line-height:1.6}.experience-item{display:grid;grid-template-columns:100px 1fr;column-gap:48px;row-gap:8px;margin-bottom:88px;padding-top:0;position:relative}.experience-item:before{content:"";position:absolute;left:10px;top:32px;width:26px;height:26px;border-radius:50%;background:var(--bg);border:3px solid var(--accent);z-index:2}.experience-item:hover:before{box-shadow:0 0 0 8px #00d4ff1a}.experience-years{font-weight:700;font-size:16px;color:var(--accent);font-family:var(--font-mono);margin-top:0;padding-top:0;text-align:right}.experience-content h3{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--text)}.timeline-right .experience-timeline:before{left:0;right:auto}.timeline-right .experience-item:before{left:-4px;right:auto;top:32px}.timeline-right .experience-item{grid-template-columns:80px 1fr;text-align:left;margin-bottom:64px}.timeline-right .experience-years{justify-self:start;padding-top:8px}.timeline-right .experience-content{order:1}.site-footer{padding:48px 24px;border-top:1px solid rgba(255,255,255,.05);position:relative;z-index:2}.site-footer .footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;max-width:1080px;margin:0 auto}.site-footer .logo{color:var(--text)}.site-footer .footer-nav{list-style:none;padding:0;margin:0}.site-footer .footer-nav li{margin-bottom:8px}.site-footer .footer-nav a{color:var(--muted);text-decoration:none;font-size:14px;transition:color .2s}.site-footer .footer-nav a:hover{color:var(--accent)}.site-footer .footer__col.footer__brand .footer__email{color:var(--accent);transition:color .18s ease}.site-footer .footer__col.footer__brand .footer__email:hover{color:var(--accent-2)}.site-footer .socials{display:flex;gap:12px;align-items:center}.site-footer .social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,#1fb6a00f,#5b6bff0a);color:var(--accent);box-shadow:0 6px 18px #0b121e1f;transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1),color .18s ease;text-decoration:none}.site-footer .social-link svg{width:18px;height:18px;display:block;fill:currentColor}.site-footer .social-link:hover,.site-footer .social-link:focus{transform:translateY(-3px);color:var(--accent-2);opacity:.98;box-shadow:0 12px 30px #1fb6a01f}.site-footer .social-link[aria-label]{outline:none}.footer__brand{display:block}.footer__brand-top{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.footer__name{text-decoration:none;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.footer__brand-name{display:flex;align-items:center;gap:8px;min-width:0}.footer__brand-text{min-width:0}.footer__brand-top .monogram-wrapper{flex:0 0 auto}.footer__brand-top .monogram-wrapper{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.footer__brand-top .footer__name{display:inline-block;vertical-align:middle;line-height:1}.footer__brand-grid{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;gap:6px 12px;align-items:center}.brand-monogram{grid-column:1;grid-row:1}.brand-name{grid-column:2;grid-row:1;align-self:center}.brand-tag{grid-column:2;grid-row:2}.brand-email{grid-column:2;grid-row:3}.brand-monogram .monogram-wrapper{flex:0 0 auto}.footer__brand-role,.footer__brand-email{color:var(--muted);margin-top:8px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.footer__brand-email a{color:var(--muted);text-decoration:none}.monogram-wrapper{border-radius:999px;box-shadow:0 0 0 2px #1fb6a014;transition:box-shadow .18s ease}.monogram-wrapper img{display:block;width:100%;height:100%;object-fit:contain;border-radius:999px}@media(max-width:480px){.footer__brand-top{gap:8px}.footer__name{max-width:200px;font-size:16px}.footer__brand-role,.footer__brand-email{max-width:260px;font-size:13px}.site-footer .footer-grid{grid-template-columns:1fr;gap:20px}}@media(min-width:481px)and (max-width:900px){.footer__name{max-width:280px}.footer__brand-role,.footer__brand-email{max-width:320px}}:focus-visible{outline:2px solid rgba(94,234,212,.9);outline-offset:2px;transition:outline-offset .15s ease}a:focus-visible,button:focus-visible{outline-offset:3px}.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-to-content:focus{left:24px;top:24px;width:auto;height:auto;background:#0f172afa;color:var(--text);padding:8px 12px;border-radius:6px;z-index:9999}.sr-initial{opacity:0;transform:translateY(20px)}.sr-reveal{opacity:1;transform:translateY(0);transition:opacity .6s cubic-bezier(.22,.9,.35,1),transform .6s cubic-bezier(.22,.9,.35,1)}.scroll-reveal{opacity:1;transform:translateY(0)}html.js-loaded .scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,.9,.35,1),transform .6s cubic-bezier(.22,.9,.35,1);transition-delay:var(--reveal-delay, 0ms)}html.js-loaded .scroll-reveal.reveal,.scroll-reveal.reveal{opacity:1;transform:translateY(0)}.cursor-glow{height:500px;width:500px;border-radius:50%;position:fixed;pointer-events:none;z-index:1;background:radial-gradient(circle,#ffffff1a,#ffffff0d,#fff0);filter:blur(50px)}@media(max-width:900px){.hero-content{flex-direction:column-reverse;gap:32px;padding:0 12px}.hero-modern{padding:48px 0}.hero-asset{max-width:320px}.split-layout{display:block}.projects-column{margin-bottom:40px}.timeline-column{padding-left:0;margin-top:32px}}@media(max-width:768px){.container{padding:32px 18px 48px;width:100%}h1,.headline{font-size:clamp(28px,8vw,36px);line-height:1.1}h2{font-size:clamp(20px,6vw,24px);margin-bottom:12px}.hero{padding:48px 0 56px}.ctas{flex-direction:column;align-items:stretch}.ctas .btn{width:100%;text-align:center}.hero-container{padding:0 16px;gap:20px}.projects-list{gap:14px}.card{padding:18px}.split-layout{display:block}.timeline-column{padding-left:0;margin-top:28px}.experience-item{grid-template-columns:1fr;gap:12px}.site-header .inner{flex-direction:column;gap:16px}.grid,.site-footer .footer-grid{grid-template-columns:1fr}}@media(pointer:coarse){.cursor-glow{display:none}}@media(prefers-reduced-motion:reduce){.sr-initial,.sr-reveal,.scroll-reveal{transition:none;transform:none;opacity:1}.hero-svg-anim{animation:none}}.resume-section{display:flex;flex-direction:column;align-items:center}.resume-section h1{text-align:center}.resume-viewer{width:85%;max-width:1100px;margin:0 auto;position:relative}@media(max-width:768px){.resume-viewer{width:95%;max-width:none;margin-left:auto;margin-right:auto}.resume-viewer.card{background:transparent;border:none;padding:0;box-shadow:none}.resume-viewer .controls{margin-bottom:8px;text-align:left;padding:6px;gap:.5rem;display:flex;align-items:center;justify-content:space-between}.resume-viewer .pdf-container{padding:0;border-radius:4px;background:transparent}.resume-viewer .pdf-viewport{width:90%;max-width:90%;height:72vh;margin:0 auto;border-radius:6px;overflow:auto;display:flex;align-items:center;justify-content:center}.resume-viewer .pdf-viewport.scrollable{align-items:flex-start;justify-content:center}}.resume-viewer .controls{margin-bottom:12px;text-align:center}.resume-viewer .pdf-container{border-radius:12px}.resume-viewer .pdf-viewport{width:100%;height:80vh;overflow:auto;background:var(--bg, rgba(0,0,0,.02));border-radius:12px;position:relative}.resume-viewer .pdf-canvas-wrap{width:100%;height:100%;display:flex;align-items:flex-start;justify-content:center}.resume-viewer .pdf-canvas-wrap canvas{box-shadow:0 8px 30px #02061799;border-radius:8px;background:#fff;max-width:100%;height:auto}.resume-viewer .magnifier{position:absolute;right:12px;bottom:12px;background:#0f172ab3;padding:6px 10px;border-radius:999px;box-shadow:0 6px 18px #02061799;display:flex;align-items:center}.resume-viewer .magnifier .mag-range{width:140px;appearance:none;background:linear-gradient(90deg,var(--accent),#7c3aed);height:6px;border-radius:999px;outline:none}.resume-viewer .magnifier .mag-range::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0006;cursor:pointer;border:3px solid rgba(0,0,0,.08)}.resume-viewer .pdf-viewport::-webkit-scrollbar{width:12px;height:12px}.resume-viewer .pdf-viewport::-webkit-scrollbar-track{background:transparent}.resume-viewer .pdf-viewport::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#334155,#0f172a);border-radius:999px;border:3px solid rgba(255,255,255,.02)}.resume-viewer .pdf-viewport{scrollbar-width:thin;scrollbar-color:#334155 transparent}.sub-frame-error{display:flex;gap:12px;align-items:center;justify-content:center;padding:14px;border-radius:10px;background:linear-gradient(180deg,#ffffff05,#ffffff03);color:var(--text-muted, #9CA3AF);margin-top:12px}.sub-frame-error .icon-generic{width:36px;height:36px;border-radius:8px;background:linear-gradient(90deg,#334155,#0f172a);box-shadow:0 4px 12px #02061799}.sub-frame-error a{color:var(--accent);font-weight:700}
