@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap";:root{--bg:#fffdf7;--surface:#fffc;--text-main:#111;--text-muted:#4f4f54;--brand-warm:#d96f00;--brand-cool:#118ab2;--chip-bg:#fcefd9;--border-soft:#f1d7b6;--card-shadow:0 12px 30px #ce7b2b1f;--input-bg:#fff;--input-text:#111;--bg-accent-1:#ffd54f42;--bg-accent-2:#80deea38;--bg-accent-3:#ff8a8033;--sheen-accent:#fff6;--font-body:"Outfit", "Segoe UI", sans-serif;--font-heading:"Sora", "Segoe UI", sans-serif}:root[data-theme=dark]{--bg:#101417;--surface:#141c22db;--text-main:#ecf1f5;--text-muted:#b6c2cc;--brand-warm:#ffb74d;--brand-cool:#4dd0e1;--chip-bg:#1a2a31;--border-soft:#29424f;--card-shadow:0 12px 30px #00000059;--input-bg:#182229;--input-text:#edf2f7;--bg-accent-1:#ffab402b;--bg-accent-2:#4dd0e129;--bg-accent-3:#ff8a801f;--sheen-accent:#ffffff14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text-main);background:radial-gradient(circle at 10% 10%, var(--bg-accent-1), transparent 30%), radial-gradient(circle at 90% 0%, var(--bg-accent-2), transparent 28%), radial-gradient(circle at 92% 75%, var(--bg-accent-3), transparent 30%), var(--bg);min-height:100vh;margin:0;line-height:1.6;transition:background .35s,color .35s}body:before{content:"";pointer-events:none;background:linear-gradient(120deg, transparent 0%, var(--sheen-accent) 50%, transparent 100%);background-size:200% 200%;animation:14s ease-in-out infinite sheen;position:fixed;inset:0}#root{isolation:isolate;min-height:100vh;position:relative}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.15}@keyframes sheen{0%,to{background-position:0 0}50%{background-position:100% 100%}}.container{width:min(1280px,100% - 2.5rem);margin:0 auto}.section{padding:6.5rem 0;position:relative}.reveal-section{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.65,.2,1);transform:translateY(36px)scale(.985)}.reveal-section.is-visible{opacity:1;transform:translateY(0)scale(1)}.loading-screen{z-index:999;background:radial-gradient(circle at 18% 24%,#ffcb6b73,#0000 34%),radial-gradient(circle at 82% 10%,#65d0e159,#0000 34%),radial-gradient(circle at 80% 80%,#ffa28359,#0000 38%),#fffdf7;place-items:center;display:grid;position:fixed;inset:0}.loading-content{text-align:center;border:1px solid var(--border-soft);background:#ffffffe0;border-radius:1.2rem;width:min(26rem,100% - 2rem);padding:2rem 1.3rem;box-shadow:0 20px 55px #cf894333}.loading-logo{color:#111;background:linear-gradient(135deg,#ffd54f,#ff8a65);border-radius:1rem;place-items:center;width:4rem;height:4rem;margin:0 auto .75rem;animation:1.3s ease-in-out infinite loaderPulse;display:grid}.loading-content h1{color:var(--text-main);margin:.15rem 0}.loading-content p{color:var(--text-muted);margin:.2rem 0 1.1rem}.loading-bar{background:#f4dfbe;border-radius:999px;width:min(15rem,100%);height:.34rem;margin:0 auto;overflow:hidden}.loading-bar span{border-radius:inherit;background:linear-gradient(90deg,#ff8a65,#ffca5f);width:45%;height:100%;animation:1.4s ease-in-out infinite loaderLine;display:block}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb, var(--bg) 78%, transparent);border-bottom:1px solid var(--border-soft);position:sticky;top:0}.navbar{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:4.75rem;display:grid}.nav-actions{justify-self:end;align-items:center;gap:1.2rem;display:flex}.nav-utilities{align-items:center;gap:.6rem;display:flex}.logo{font-family:var(--font-heading);color:var(--text-main);align-items:center;gap:.45rem;font-size:1.15rem;text-decoration:none;display:inline-flex}.menu-toggle{color:var(--text-main);cursor:pointer;background:0 0;border:0;display:none}.nav-links{justify-self:center;align-items:center;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--text-muted);letter-spacing:.02em;border-radius:999px;padding:.55rem .9rem;font-weight:600;text-decoration:none;transition:background-color .3s,color .3s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--text-main);background:var(--chip-bg)}.theme-toggle{padding:0}.theme-toggle:hover,.theme-toggle:focus-visible{background:var(--chip-bg)}.nav-icon-btn{border:1px solid var(--border-soft);background:var(--surface);width:2.15rem;height:2.15rem;color:var(--text-main);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nav-icon-btn:hover,.nav-icon-btn:focus-visible{background:var(--chip-bg)}.hero-section{grid-template-columns:1.15fr .85fr;align-items:center;gap:2.5rem;min-height:calc(100vh - 4.75rem);display:grid}.hero-content{z-index:2;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand-warm);margin-bottom:1rem;font-size:.78rem;font-weight:700}.hero-content h1{letter-spacing:-.03em;color:var(--text-main);margin:0;font-size:clamp(2.2rem,8vw,4.5rem);line-height:.95}.hero-content h1 span{color:var(--text-muted);letter-spacing:0;margin-top:.95rem;font-size:clamp(1.2rem,3vw,1.9rem);font-weight:500;line-height:1.2;display:block}.hero-copy{max-width:61ch;color:var(--text-muted);margin:1.8rem 0 2.3rem;font-size:1.05rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.hero-visual{border:1px solid color-mix(in srgb, var(--border-soft) 70%, transparent);background:color-mix(in srgb, var(--surface) 82%, transparent);border-radius:1.1rem;justify-self:end;width:100%;max-width:46rem;overflow:hidden;box-shadow:0 20px 44px #00000038}.hero-photo{aspect-ratio:4/5;object-fit:cover;object-position:center 22%;width:100%;display:block}.cta-button{color:#101010;letter-spacing:.02em;background:linear-gradient(120deg,#fdd835 0%,#ffa726 45%,#ff7043 100%);border-radius:.85rem;justify-content:center;align-items:center;padding:.9rem 1.4rem;font-weight:800;text-decoration:none;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 16px 30px #ff8a5040}.cta-button:hover,.cta-button:focus-visible{transform:translateY(-2px);box-shadow:0 20px 36px #ff8a5057}.hero-secondary-btn{color:var(--text-main);border:1px solid var(--border-soft);background:var(--surface);border-radius:.85rem;justify-content:center;align-items:center;padding:.86rem 1.3rem;font-weight:700;text-decoration:none;display:inline-flex}.hero-secondary-btn:hover,.hero-secondary-btn:focus-visible{background:var(--chip-bg)}.achievements{padding-top:1.2rem}.achievements-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.achievement-card{border:1px solid var(--border-soft);background:var(--surface);box-shadow:var(--card-shadow);border-radius:1rem;padding:1.1rem}.achievement-card h3{color:var(--text-main);margin:0;font-size:1rem}.achievement-card p{color:var(--text-muted);margin:.55rem 0 0;font-size:.92rem}.hero-orb{background:radial-gradient(circle at 18% 20%,#ffe082e6,#0000 44%),radial-gradient(circle at 72% 16%,#80deeac7,#0000 42%),radial-gradient(circle at 82% 74%,#ff8a80c2,#0000 48%),radial-gradient(circle at 22% 74%,#81c784b8,#0000 45%),linear-gradient(140deg,#fff8e1 0%,#ffe0b2 52%,#ffccbc 100%);border-radius:45% 55% 56% 44%/42% 35% 65% 58%;height:min(33rem,56vw);animation:10s ease-in-out infinite floatMorph;position:relative;box-shadow:inset 0 0 45px #ffffff6b,0 24px 55px #f48fb152}.hero-orb:before{content:"";border-radius:inherit;border:1px solid #ffffff73;position:absolute;inset:8%}.about-section{gap:2.2rem;display:grid}.skills-section{padding-top:0}.about-card{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:1.2rem;grid-template-columns:auto 1fr;gap:1.5rem;padding:1.6rem;display:grid}.profile-placeholder{color:#1d1d1d;width:6.8rem;height:6.8rem;font-family:var(--font-heading);background:linear-gradient(135deg,#ffd54f,#ff8a65);border-radius:1.2rem;place-items:center;font-size:1.8rem;font-weight:700;display:grid}.about-card h2,.projects-section h2,.contact-section h2{color:var(--text-main);margin:0;font-size:clamp(1.65rem,3vw,2.4rem)}.about-card p,.section-heading p,.social-panel p{color:var(--text-muted);max-width:68ch;margin-top:.8rem}.about-highlight{border:1px solid var(--border-soft);color:var(--text-main);background:linear-gradient(120deg,#ffd54f33,#ff8a651f);border-radius:.85rem;margin-top:1rem;padding:.85rem 1rem;line-height:1.5}.about-highlight strong{font-weight:800}.skills-section{position:relative}.skills-section:before{content:"";pointer-events:none;background:radial-gradient(circle at 0 0,#118ab214,#0000 34%),radial-gradient(circle at 100% 100%,#d96f0014,#0000 30%);border-radius:2rem;position:absolute;inset:1rem .35rem 0}.skills-section .section-heading{z-index:1;max-width:52rem;position:relative}.skills-groups{z-index:1;gap:1.75rem;display:grid;position:relative}.skill-group{gap:.9rem;display:grid}.skill-group-heading{justify-content:space-between;align-items:center;gap:1rem;padding:0 .15rem;display:flex}.skill-group-heading h3{color:var(--text-main);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:1.02rem}.skill-group-heading span{color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:.82rem;font-weight:600}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;display:grid}.skill-item{background:linear-gradient(180deg, #ffffff1f, transparent 42%), var(--surface);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:1.2rem;padding:1.3rem;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}.skill-item:before{content:"";background:linear-gradient(90deg, var(--brand-cool), var(--brand-warm));opacity:.85;width:100%;height:.28rem;position:absolute;inset:0 auto auto 0}.skill-item:hover{border-color:var(--brand-cool);transform:translateY(-4px);box-shadow:0 18px 38px #00000024}.skill-icon-badge{background:radial-gradient(circle at top left, #ffffff59, transparent 45%), var(--chip-bg);border:1px solid var(--border-soft);border-radius:1rem;place-items:center;width:3.2rem;height:3.2rem;display:grid;box-shadow:inset 0 1px #ffffff47}.skill-icon-badge svg{width:1.5rem;height:1.5rem;color:var(--brand-cool)}.skill-item h3,.skill-item h4{color:var(--text-main);margin:.95rem 0 0;font-size:1.02rem}.skills-grid-standalone{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skill-item-rich p{color:var(--text-muted);margin:.6rem 0 0;font-size:.93rem}.section-heading{margin-bottom:1.8rem}.projects-heading{max-width:52rem}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1.4rem;display:grid}.project-card{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:1.6rem;flex-direction:column;padding:0;display:flex;overflow:hidden}.project-card-showcase{background:linear-gradient(180deg, #ffffff14, transparent 36%), var(--surface);min-height:100%}.project-preview{aspect-ratio:16/10;border-bottom:1px solid var(--border-soft);background:#0f1219;height:auto;overflow:hidden}.project-preview-image{object-fit:cover;width:100%;height:100%;display:block}.project-preview-fallback{color:#f8fafc;width:100%;height:100%;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;place-items:center;font-size:.9rem;display:grid}.project-preview-fallback.theme-1{background:radial-gradient(circle at 20% 20%,#1d4ed8,#020617 70%)}.project-preview-fallback.theme-2{background:radial-gradient(circle at 72% 22%,#334155,#020617 70%)}.project-preview-fallback.theme-3{background:radial-gradient(circle at 52% 42%,#f59e0b,#111827 68%)}.project-content{flex-direction:column;gap:.95rem;padding:1.35rem 1.3rem 1.4rem;display:flex}.project-category{color:var(--brand-warm);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.project-card h3{color:var(--text-main);letter-spacing:-.03em;margin:0;font-size:clamp(1.65rem,2vw,2.2rem)}.project-description{color:var(--text-muted);margin:0;font-size:.98rem;line-height:1.75}.project-problem{border:1px solid var(--border-soft);background:#ffffff08;border-radius:1rem;margin:0;padding:1rem 1.05rem}.project-problem span{color:var(--brand-warm);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:700}.project-problem blockquote{color:var(--text-muted);margin:.45rem 0 0;font-style:italic;line-height:1.45}.project-stack-wrap{gap:.55rem;display:grid}.tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tags li{letter-spacing:.03em;background:var(--chip-bg);color:var(--text-main);border-radius:999px;padding:.42rem .72rem;font-size:.78rem;font-weight:800}.project-actions{flex-wrap:wrap;gap:.65rem;margin-top:.1rem;display:flex}.project-actions a{color:var(--text-main);border:1px solid var(--border-soft);background:var(--surface);border-radius:.6rem;align-items:center;gap:.4rem;padding:.7rem .95rem;font-weight:700;text-decoration:none;transition:background-color .25s,border-color .25s,transform .25s;display:inline-flex}.project-action-primary{background:var(--text-main);color:#fff;border-color:var(--text-main)}.project-actions a:hover,.project-actions a:focus-visible{background:var(--chip-bg);border-color:var(--brand-cool);transform:translateY(-1px)}.project-action-primary:hover,.project-action-primary:focus-visible{color:#fff;background:#1f2228;border-color:#1f2228}.contact-layout{grid-template-columns:1.2fr .8fr;gap:1.15rem;display:grid}.contact-form,.social-panel{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:1rem;padding:1.35rem}.contact-form{flex-direction:column;gap:.65rem;display:flex}.contact-form label{color:var(--text-main);font-size:.92rem;font-weight:600}.contact-form input,.contact-form textarea{box-sizing:border-box;border:1px solid var(--border-soft);background:var(--input-bg);width:100%;color:var(--input-text);font:inherit;border-radius:.7rem;padding:.75rem .85rem}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid color-mix(in srgb, var(--brand-cool) 55%, white);border-color:var(--brand-cool)}.contact-form button{color:#151515;cursor:pointer;background:linear-gradient(120deg,#fdd835 0%,#ffa726 45%,#ff7043 100%);border:1px solid #0000;border-radius:.7rem;align-self:flex-start;align-items:center;gap:.4rem;margin-top:.5rem;padding:.74rem 1rem;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex}.contact-form button:disabled{opacity:.62;filter:saturate(.72);cursor:not-allowed}.contact-form button:hover,.contact-form button:focus-visible{transform:translateY(-1px);box-shadow:0 10px 22px #ff8a504d}.form-status{margin:.4rem 0 0;font-size:.9rem;font-weight:600}.form-status.success{color:#0f766e}.form-status.error{color:#b91c1c}.social-panel h3{color:var(--text-main);margin:0}.social-links{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.social-links a{color:var(--text-main);border:1px solid var(--border-soft);border-radius:.7rem;align-items:center;gap:.45rem;padding:.65rem .75rem;font-weight:600;text-decoration:none;display:inline-flex}.social-links a:hover,.social-links a:focus-visible{background:var(--chip-bg)}.site-footer{border-top:1px solid var(--border-soft);padding:1.3rem 0}.footer-content{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.footer-meta{flex-direction:column;gap:.35rem;display:flex}.footer-location-time{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:.85rem;margin:0;font-size:.76rem;font-weight:700;display:inline-flex}.footer-dot{background:linear-gradient(145deg,#ffc93d,#f59e0b);border-radius:50%;width:.9rem;height:.9rem;display:inline-block;box-shadow:0 0 0 4px #ffc93d40}.footer-separator{opacity:.65}.footer-content p{color:var(--text-muted);margin:0}.footer-socials{gap:.45rem;display:flex}.footer-socials a{color:var(--text-main);border:1px solid var(--border-soft);border-radius:50%;place-items:center;width:1.95rem;height:1.95rem;display:grid}.footer-socials a:hover,.footer-socials a:focus-visible{background:var(--chip-bg)}@keyframes floatMorph{0%,to{border-radius:45% 55% 56% 44%/42% 35% 65% 58%;transform:translateY(0)rotate(0)}50%{border-radius:54% 46% 38% 62%/54% 60% 40% 46%;transform:translateY(-14px)rotate(2deg)}}@keyframes loaderPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes loaderLine{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (width<=980px){.hero-section,.contact-layout{grid-template-columns:1fr}.hero-visual{justify-self:center;max-width:30rem}.achievements-grid{grid-template-columns:1fr}.hero-orb{height:min(22rem,60vw);min-height:18rem}.skills-grid,.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid-standalone{grid-template-columns:1fr}.skill-group-heading{flex-direction:column;align-items:flex-start}.project-preview{aspect-ratio:16/11}.menu-toggle{display:inline-flex}.navbar{justify-content:space-between;display:flex}.nav-links{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);opacity:0;pointer-events:none;border-radius:1rem;flex-direction:column;align-items:stretch;padding:.6rem;transition:opacity .25s,transform .25s;position:absolute;top:4.8rem;left:1.5rem;right:1.5rem;transform:translateY(-8px)}.nav-actions{gap:.55rem;margin-left:auto}.nav-utilities{gap:.4rem}.nav-links.open{opacity:1;pointer-events:auto;transform:translateY(0)}}@media (width<=700px){.container{width:calc(100% - 1.5rem);margin:0 auto}.section{padding:4.8rem 0}.about-card{grid-template-columns:1fr}.profile-placeholder{width:5.8rem;height:5.8rem}.skills-grid,.projects-grid{grid-template-columns:1fr}.hero-visual{max-width:100%}.hero-photo{aspect-ratio:1/1.18}.project-actions{flex-wrap:wrap}.footer-content{text-align:center;flex-direction:column}.footer-meta{align-items:center}.footer-location-time{flex-wrap:wrap;justify-content:center;gap:.6rem}}
