@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap";:root{--font-sans:"Inter",system-ui,Avenir,Helvetica,Arial,sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 6px 18px #02061773;--shadow-lg:0 20px 45px #02061799;--bg:var(--bg-single);--panel:linear-gradient(180deg,#0b3b7e24,#05204c14);--glass:#ffffff08;--text:#e6eef8;--muted:#9aa4b2;--accent:#7dd3fc;--accent-2:#60a5fa;--success:#34d399;--focus:0 0 0 4px #7dd3fc1f;--bg-single:radial-gradient(circle at 50% 0%,#172554 0%,#0f172a 50%,#020617 100%);--trans:.32s cubic-bezier(.2,.9,.2,1);font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background-image:var(--bg-single);-webkit-font-smoothing:antialiased;background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;animation:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0}h1{margin:0;font-size:clamp(1.6rem,3.2vw,2.8rem)}h2{margin:0;font-size:clamp(1.15rem,2.2vw,1.6rem)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .9rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#041225;box-shadow:var(--shadow-sm)}.btn.small{padding:.36rem .6rem;font-size:.88rem}.btn:focus{box-shadow:var(--focus);outline:none}.reveal{opacity:0;will-change:opacity,transform;transform:translateY(10px)}.reveal.is-visible{opacity:1;transition:opacity var(--trans),transform var(--trans);transform:none}.card{background:var(--panel);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);border:1px solid #ffffff08}.card--lift{transition:transform var(--trans),box-shadow var(--trans)}.card--lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.flex{display:flex}.center{justify-content:center;align-items:center;display:flex}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,Segoe UI Mono,monospace}@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.hero-media:before{content:"";background:var(--accent);opacity:.16;border-radius:999px;width:10px;height:10px;animation:4s ease-in-out infinite floaty;position:absolute;top:30%;left:8%;transform:translateY(0)}.hero-media:after{content:"";background:var(--accent-2);opacity:.1;border-radius:999px;width:6px;height:6px;animation:6s ease-in-out infinite floaty;position:absolute;top:16%;left:78%;transform:translateY(0)}@keyframes bgShift{0%{background-position:0 30%,100% 80%,50%}50%{background-position:8% 24%,92% 74%,50%}to{background-position:0 30%,100% 80%,50%}}body:before{content:"";pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:radial-gradient(#ffffff05 1px,#0000 1px);background-size:8px 8px;animation:40s linear infinite particlesMove;position:fixed;inset:0;transform:translateZ(0)}@keyframes particlesMove{0%{background-position:0 0}50%{background-position:300px 150px}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){body:before,.hero-media:before,.hero-media:after,html{animation:none!important}}html,body,#root{height:100%}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2;background:var(--bg-single);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9;min-width:320px;min-height:100svh;overflow-x:hidden}#root{width:100%;min-height:100%;position:relative}.container{max-width:1080px;margin:0 auto;padding:0 1rem}main{display:block}section{width:100%;padding:clamp(3rem,6vw,5rem) 1rem}section:last-of-type{padding-bottom:clamp(4rem,10vh,7rem)}h1{margin:0;font-size:clamp(1.6rem,3.2vw,2.8rem)}h2{margin:0;font-size:clamp(1.15rem,2.2vw,1.6rem)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .9rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#041225;box-shadow:var(--shadow-sm)}.btn-outline{color:var(--text);border:1px solid #ffffff0f}.btn.small{padding:.36rem .6rem;font-size:.88rem}.btn:focus{box-shadow:var(--focus);outline:none}.card{background:var(--panel);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);border:1px solid #ffffff08}.card--lift{transition:transform var(--trans),box-shadow var(--trans)}.card--lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.hero-media:before,.hero-media:after{content:"";border-radius:999px;animation:ease-in-out infinite floaty;position:absolute}.hero-media:before{background:var(--accent);opacity:.16;width:10px;height:10px;animation-duration:4s;top:30%;left:8%}.hero-media:after{background:var(--accent-2);opacity:.1;width:6px;height:6px;animation-duration:6s;top:16%;left:78%}body:before{content:"";pointer-events:none;opacity:.06;background-image:radial-gradient(#ffffff05 1px,#0000 1px);background-size:8px 8px;position:absolute;inset:0}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}}#root{text-align:center;max-width:1280px;margin:0 auto;padding:2rem}.container{max-width:1080px;margin:0 auto;padding:0 1rem}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:2em}.read-the-docs{color:#888}@media (max-width:920px){.site-nav{background:linear-gradient(#0b0d10e6,#0b0d10d9);border-radius:10px;flex-direction:column;gap:.5rem;padding:.75rem;display:none;position:absolute;top:60px;left:8px;right:8px}.site-nav.open{display:flex}.hamburger{display:inline-flex}.header-actions .btn,.socials{display:none}}.site-header{z-index:60;pointer-events:auto;transition:padding .22s var(--trans),background .22s var(--trans),box-shadow .22s var(--trans);--progress:0;padding:12px 0;position:sticky;top:12px}.site-header:before{content:"";background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:0;height:3px;transform:scaleX(var(--progress));opacity:.95;border-radius:2px;position:absolute;top:0;left:0;right:0}.site-header.scrolled{padding:8px 0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand-link{color:var(--text);align-items:center;gap:.6rem;text-decoration:none;display:flex}.logo-dot{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;width:12px;height:12px;box-shadow:0 6px 18px #7dd3fc1f}.brand-name{font-weight:700}.site-header .container{justify-content:space-between;align-items:center;display:flex}.site-nav{align-items:center;gap:.75rem;display:flex}.nav-link{color:var(--muted);padding:.5rem .4rem;font-size:.95rem;font-weight:600;text-decoration:none;position:relative}.nav-link:after{content:"";background:linear-gradient(90deg,var(--accent),var(--accent-2));width:0%;height:2px;transition:width .2s var(--trans);border-radius:2px;position:absolute;bottom:-6px;left:0}.nav-link:hover{color:var(--text)}.nav-link:hover:after{width:100%}.nav-link.active{color:var(--text)}.nav-link.active:after{width:100%}.header-actions{align-items:center;gap:.6rem;display:flex}.socials{align-items:center;gap:.5rem;margin-right:.35rem;display:flex}.social-link{width:34px;height:34px;color:var(--muted);transition:background .18s var(--trans),color .18s var(--trans),transform .18s var(--trans);background:0 0;border:1px solid #ffffff05;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.social-link:hover{color:var(--text);background:#ffffff08;transform:translateY(-2px)}.hamburger{background:0 0;border:1px solid #ffffff08;border-radius:8px;padding:.4rem;display:none}.site-header.scrolled{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px)saturate(110%);backdrop-filter:blur(8px)saturate(110%);background:linear-gradient(#ffffff05,#ffffff03);border:1px solid #ffffff0a}@media (max-width:920px){.site-nav{background:linear-gradient(#0b0d10e6,#0b0d10d9);border-radius:10px;flex-direction:column;gap:.5rem;padding:.75rem;display:none;position:absolute;top:60px;left:8px;right:8px}.site-nav.open{display:flex}.hamburger{display:inline-flex}.header-actions .btn,.socials{display:none}}.nav-link{transition:color .18s var(--trans)}.brand-link{transition:transform .2s var(--trans)}.brand-link:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.hero-media,.hero-content{transform:none!important}}@media (max-width:720px){.hero-inner{flex-direction:column;align-items:flex-start}.hero-name{font-size:1.6rem}}:root{--accent:#7dd3fc;--panel:#0b0d10;--text:#e6eef8;--muted:#9aa4b2}.hero{background:linear-gradient(#ffffff03,#fff0);padding:4rem 1rem}.hero-inner{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.hero-content{max-width:680px}.hero-name{color:var(--text);margin:0;font-size:2rem}.hero-role{color:var(--accent);margin:.25rem 0 .75rem}.hero-desc,.hero-blurb{color:var(--muted);margin-bottom:1rem}.hero-ctas{gap:.75rem;display:flex}.btn{cursor:pointer;border-radius:8px;padding:.6rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.btn-primary{background:var(--accent);color:#061322}.btn-outline{color:var(--text);background:0 0;border:1px solid #ffffff0f}.hero-media{height:260px;color:var(--muted);transition:transform var(--trans);background:linear-gradient(135deg,#ffffff05,#fff0);border:1px solid #ffffff08;border-radius:12px;justify-content:center;align-items:center;padding:8px;display:flex;transform:translateZ(0)}.hero-image{object-fit:cover;width:100%;height:100%;transition:transform calc(var(--trans)*.9),filter var(--trans);filter:drop-shadow(0 20px 40px #050a1499);border-radius:8px;transform:translateY(0)translateZ(0)}.hero-media:hover .hero-image{transform:translateY(-6px)scale(1.02)}.hero-media:after{content:"";filter:blur(30px);pointer-events:none;background:radial-gradient(circle at 50% 40%,#7dd3fc0f,#0000 20%);height:60%;position:absolute;inset:auto 8% -20%}.hero-inner{--px:0;--py:0}.hero-media{transform:translateX(calc(var(--px)*10px))translateY(calc(var(--py)*8px))rotateX(calc(var(--py)*2deg))rotateY(calc(var(--px)*2deg))}.hero-content{transform:translateX(calc(var(--px)*-6px))translateY(calc(var(--py)*-3px))}@media (prefers-reduced-motion:reduce){.hero-media,.hero-content{transform:none!important}}@media (max-width:720px){.hero-inner{flex-direction:column;align-items:flex-start}.hero-name{font-size:1.6rem}}.hero-inner.reveal{opacity:0;transform:translateY(10px)}.hero-inner.is-visible{opacity:1;transition:opacity .52s cubic-bezier(.2,.9,.2,1),transform .52s cubic-bezier(.2,.9,.2,1);transform:none}.typewriter{font-family:var(--mono);color:var(--accent);font-weight:600}.cursor{color:var(--accent);opacity:1;margin-left:2px}.cursor.blink{opacity:0}.skills{color:var(--muted);padding:clamp(2rem,6vw,4rem) 1rem}.container{max-width:1080px;margin:0 auto}.skills h2{color:var(--text);text-align:center;margin-bottom:.25rem;font-size:clamp(1.4rem,3vw,2rem)}.skills-intro{color:var(--muted);text-align:center;max-width:800px;margin:.5rem auto 1.5rem;font-size:1.02rem;line-height:1.5}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch;gap:1.25rem;display:grid}.skill-card{-webkit-backdrop-filter:blur(12px);background:#0f172a99;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;height:100%;padding:1.5rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0003}.skill-card:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#ffffff0d 0%,#fff0 100%);position:absolute;inset:0}.skill-card>*{z-index:1;position:relative}.skill-card:hover{background:#0f172acc;border-color:#7dd3fc4d;transform:translateY(-8px)scale(1.02);box-shadow:0 20px 40px #0006}.skill-card h3{color:var(--accent);letter-spacing:-.02em;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.2rem;font-weight:700;display:flex}.skill-card h3:after{content:"";background:linear-gradient(90deg,#7dd3fc33,#0000);flex:1;height:1px;margin-left:.5rem}.skill-item{border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.skill-item:first-of-type{border-top:none;padding-top:.2rem}.skill-name{color:var(--text);font-size:.95rem;font-weight:500;transition:color .3s}.skill-item:hover .skill-name{color:var(--accent);text-shadow:0 0 12px #7dd3fc66}.skill-progress{background:#ffffff0f;border-radius:999px;flex:80px;min-width:60px;max-width:120px;height:6px;overflow:hidden}.skill-progress>i{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;height:100%;display:block;box-shadow:0 0 10px #7dd3fc66}.skill-badge{text-align:center;letter-spacing:.02em;text-transform:uppercase;border-radius:6px;min-width:64px;padding:.2rem .6rem;font-size:.7rem;font-weight:600}.level-advanced .skill-badge{color:#34d399;background:#34d39926;border:1px solid #34d39933}.level-proficient .skill-badge{color:#60a5fa;background:#60a5fa26;border:1px solid #60a5fa33}.level-familiar .skill-badge{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b833}.skill-item:hover .skill-badge{box-shadow:none;transform:none}.skill-card.is-visible .level-advanced .skill-progress>i{width:95%}.skill-card.is-visible .level-proficient .skill-progress>i{width:68%}.skill-card.is-visible .level-familiar .skill-progress>i{width:36%}@media (max-width:600px){.skills{padding:2.5rem 0}}@media (max-width:720px){.about{grid-template-columns:1fr;padding:2rem 0}.about-bullets{grid-template-columns:1fr}.about-tech{flex-direction:row;align-self:start;align-items:center;gap:.75rem;padding:.9rem;display:flex}.about-tech:before{width:56px;height:56px}.about-tech h3{font-size:.95rem}}.about{color:var(--muted);grid-template-columns:1fr 320px;align-items:start;gap:clamp(1rem,3vw,2rem);padding:clamp(2rem,6vw,3rem) 1rem;display:grid}.about h2{color:var(--text);margin:0 0 .6rem;font-size:clamp(1.4rem,3vw,1.9rem)}.about-paragraph{max-width:68ch;color:var(--muted);font-size:1.04rem;line-height:1.65}.about-bullets{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;margin:1rem 0;padding:0;list-style:none;display:grid}.about-bullets li{color:var(--muted);padding-left:1.6rem;font-weight:500;position:relative}.about-bullets li:before{content:"✓";background:linear-gradient(180deg,var(--accent),#60a5fae6);color:#012;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.7rem;display:inline-grid;position:absolute;top:.05rem;left:0;box-shadow:0 6px 18px #02061759}.about-tech{color:var(--muted);text-align:center;background:linear-gradient(#ffffff05,#ffffff03);border-radius:12px;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;display:flex;box-shadow:0 10px 30px #02061773}.about-tech:before{content:"";background:radial-gradient(circle at 30% 30%,var(--accent),var(--primary));border-radius:999px;width:96px;height:96px;display:block;box-shadow:0 8px 18px #02061780}.about-tech h3{color:var(--text);margin:0;font-size:1rem}.about-tech p{color:var(--muted);margin:0;font-weight:600}.about.reveal{opacity:0;transform:translateY(6px)}.about.is-visible{opacity:1;transition:opacity var(--trans),transform var(--trans);transform:none}@media (max-width:720px){.about{grid-template-columns:1fr;padding:2rem 0}.about-bullets{grid-template-columns:1fr}.about-tech{flex-direction:row;align-self:start;align-items:center;gap:.75rem;padding:.9rem;display:flex}.about-tech:before{width:56px;height:56px}.about-tech h3{font-size:.95rem}}.typing:after{content:"|";color:var(--accent);margin-left:2px;animation:1s infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.typing:after{display:none}}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px #02061752}.project-card{width:100%;transition:transform var(--trans),box-shadow var(--trans);background:#ffffff03;border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;padding:0;display:flex;overflow:hidden;box-shadow:0 6px 16px #02061747}.project-card.featured{display:flex}.project-figure{background-position:50%;background-size:cover;justify-content:flex-start;align-items:flex-end;width:100%;min-height:140px;padding:.5rem;display:flex;position:relative}.project-figure:after{content:"";pointer-events:none;background:linear-gradient(#0000 10%,#00000061);position:absolute;inset:0}.project-figure.fallback{background:linear-gradient(135deg,#7dd3fc0f,#60a5fa0a);justify-content:center;align-items:center;display:flex}.project-figure .initials{font-size:1.2rem;font-weight:800}.figure-caption{z-index:3;background:#02061747;border-radius:8px;flex-direction:column;gap:.15rem;padding:.45rem .6rem;display:flex;position:absolute;bottom:.6rem;left:.6rem;right:.6rem}.caption-title{color:var(--text);font-size:.95rem;font-weight:700}.caption-tagline{color:var(--accent);font-size:.78rem;font-weight:600}.project-card-body{flex-direction:column;flex:1;gap:.4rem;padding:.6rem;display:flex}.project-title{color:var(--text);margin:0;font-size:.98rem;font-weight:700}.project-tagline{display:none}.project-desc{color:var(--muted);margin:.15rem 0;font-size:.92rem}.project-tags{flex-wrap:wrap;gap:.35rem;display:flex}.pill{color:var(--muted);background:#ffffff05;border-radius:999px;padding:.18rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.project-features{flex-wrap:wrap;gap:.5rem;margin:.35rem 0;padding-left:0;display:flex}.project-features li{color:var(--muted);margin:0;font-size:.82rem;list-style:none}.project-meta{color:var(--muted);font-size:.78rem}.project-links{gap:.45rem;margin-top:.45rem;display:flex}.project-card.reveal{opacity:0;transform:translateY(8px)}.project-card.is-visible{opacity:1;transition:opacity var(--trans),transform var(--trans);transform:none}.project-card:hover{border-color:#7dd3fc4d;transform:translateY(-6px)scale(1.02);box-shadow:0 20px 40px #7dd3fc26}.project-card:hover .project-figure:after{background:linear-gradient(#0000 10%,#0003)}@media (max-width:560px){.project-figure{aspect-ratio:14/9}}@media (min-width:900px){.projects-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:720px){.projects{padding:1.25rem 0}}.projects{padding:clamp(1.25rem,4vw,2.5rem) 1rem}.projects h2{color:var(--text);text-align:left;margin-bottom:.6rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:.75rem;display:grid}@media (min-width:900px){.projects-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:720px){.projects{padding:1.25rem 0}}.projects-grid>*{display:flex}.contact{color:var(--muted);padding:clamp(2rem,6vw,3rem) 1rem}.contact h2{color:var(--text);margin-bottom:.8rem;font-size:clamp(1.4rem,3vw,1.8rem)}.contact-grid{grid-template-columns:1fr 420px;align-items:start;gap:clamp(1rem,3vw,2rem);display:grid}.contact-card{background:linear-gradient(#ffffff03,#ffffff01);border:1px solid #ffffff0a;border-radius:12px;padding:1.25rem;box-shadow:0 8px 24px #02061747}.contact-row{align-items:center;gap:.5rem;display:flex}.contact-row a{color:var(--text);font-weight:600;text-decoration:underline}.contact-form{background:0 0;border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.contact-form input,.contact-form textarea{width:100%;color:var(--text);transition:box-shadow var(--trans),transform var(--trans);background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;outline:none;padding:.7rem;font-size:.95rem}.btn.outline{background:0 0;border:1px solid #ffffff0f}@media (max-width:920px){.contact-grid{grid-template-columns:1fr}.contact-form{order:2}}@media (max-width:420px){.contact-card .lead{font-size:.95rem}.contact-form textarea{rows:4}}.contact{color:var(--muted);padding:clamp(2.5rem,6vw,4rem) 1rem 6rem;overflow-x:hidden}.contact h2{color:var(--text);text-align:center;margin-bottom:1rem;font-size:clamp(1.4rem,3vw,1.8rem)}.contact-inner{box-sizing:border-box;width:100%;max-width:1080px;margin:0 auto}.contact-grid{grid-template-columns:1fr 420px;align-items:start;gap:clamp(1.2rem,3vw,2.2rem);width:100%;display:grid}.contact-card{box-sizing:border-box;background:linear-gradient(#ffffff04,#ffffff01);border:1px solid #ffffff0a;border-radius:14px;width:100%;padding:1.4rem;box-shadow:0 10px 28px #02061759}.contact-card .lead{color:var(--text);margin:0 0 1rem;font-weight:600}.contact-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.contact-list li{align-items:flex-start;gap:.75rem;display:flex}.contact-list .icon{color:var(--accent);flex:0 0 20px}.contact-list strong{color:var(--text);margin-bottom:.1rem;font-size:.9rem;display:block}.contact-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.contact-row a{color:var(--text);word-break:break-all;font-weight:600;text-decoration:underline}.contact-card .btn.small{padding:.3rem .55rem;font-size:.8rem}.contact-form{box-sizing:border-box;background:#ffffff03;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;gap:.65rem;width:100%;padding:1.2rem;display:flex}.contact-form input,.contact-form textarea{width:100%;color:var(--text);box-sizing:border-box;transition:box-shadow var(--trans),transform var(--trans);background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;outline:none;padding:.75rem;font-size:.95rem}.contact-form input:focus,.contact-form textarea:focus{box-shadow:var(--focus);transform:translateY(-1px)}.form-actions{align-items:center;gap:.6rem;display:flex}.btn.btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#041225}@media (max-width:920px){.contact-grid{grid-template-columns:1fr}.contact-form{order:2}}@media (max-width:420px){.contact{padding-bottom:7rem}.contact-card .lead{font-size:.95rem}.contact-form textarea{min-height:110px}}@media (max-width:520px){.canvas-bg{opacity:.72}}.canvas-bg{z-index:0;pointer-events:none;opacity:.98;position:fixed;inset:0}.canvas-bg .canvas-layer{width:100%;height:100%;display:block}main,#root,.container{z-index:1;position:relative}@media (max-width:520px){.canvas-bg{opacity:.72}}
