:root{--background:#0a0a12;--panel:#12121f;--border:#1e1e35;--primary1:#ffbfb5;--primary2:#3e4aeb;--secondary:#a8b0ff;--textPrimary:#f0eff8;--textMuted:#6e6d8a;--tooltipBg:#1c1c30;--chartBorder:#2a2a45;--chartTextWhite:#f0eff8;--chartTextMuted:#6e6d8a;--chartCursorFill:#3e4aeb22;--shadowInset:inset 0 1px 0 #ffbfb514}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--textPrimary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;overflow-x:hidden}.app{z-index:2;min-height:100vh;position:relative}.hero-section{text-align:left;flex-direction:column;justify-content:center;align-items:center;max-width:none;min-height:100vh;padding:7rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero-layout{z-index:2;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);align-items:center;gap:clamp(2rem,6vw,5rem);width:100%;max-width:1180px;display:grid;position:relative}.hero-3d-wrapper{aspect-ratio:1;isolation:isolate;justify-self:end;width:min(100%,560px);min-height:clamp(320px,46vw,560px);position:relative;overflow:hidden}.hero-3d-wrapper:after{content:"";z-index:-1;filter:blur(28px);background:radial-gradient(circle at 35% 35%,#ffbfb552,#0000 34%),radial-gradient(circle at 65% 65%,#3e4aeb57,#0000 40%);position:absolute;inset:12%}.hero-nav{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background-color:#12121f66;justify-content:space-between;align-items:center;width:100%;padding:0 2rem;display:flex;position:absolute;top:2rem;left:0}.nav-logo img{width:auto;height:32px}.nav-links{gap:2rem;display:flex}.nav-link{color:var(--textMuted);border-bottom:2px solid #0000;padding:.5rem 0;font-weight:500;text-decoration:none;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--textPrimary);border-bottom-color:var(--primary1)}.hero-content{z-index:2;text-align:left;max-width:620px;padding:0;position:relative}.hero-text-content{max-width:600px;margin:0}.hero-title{background:linear-gradient(90deg, var(--primary1), var(--primary2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:3.5rem;font-weight:700;line-height:1.1}.hero-subtitle{color:var(--textPrimary);margin-bottom:1.5rem;font-size:1.75rem;font-weight:600}.hero-description{color:var(--textMuted);max-width:560px;margin-bottom:2.5rem;font-size:1.125rem;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:flex-start;gap:1.5rem;display:flex}.hero-cta-primary,.hero-cta-secondary{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.hero-cta-primary{background:linear-gradient(90deg, var(--primary1), var(--primary2));color:var(--background)}.hero-cta-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000004d}.hero-cta-secondary{background:var(--panel);color:var(--textPrimary);border:1px solid var(--border)}.hero-cta-secondary:hover{background:var(--border);transform:translateY(-2px)}.about-section{text-align:center;max-width:1200px;margin:0 auto;padding:4rem 2rem}.about-content{flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem;max-width:1000px;margin:0 auto;display:flex}.about-text{text-align:left;flex:300px}.about-text h2{background:linear-gradient(90deg, var(--primary1), var(--primary2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1.5rem;font-size:2.5rem}.about-text p{color:var(--textMuted);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.7}.tech-badges{flex:400px;min-width:300px}.tech-badges h3{color:var(--textPrimary);text-align:left;margin-bottom:1.5rem;font-size:1.5rem}.badge-marquee{background-color:var(--panel);border:1px solid var(--border);border-radius:8px;gap:1rem;padding:1rem 0;display:flex;overflow-x:auto}.badge{background:linear-gradient(135deg, var(--primary1), var(--primary2));color:var(--background);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:.5rem 1rem;font-size:.9rem;font-weight:500;box-shadow:0 2px 8px #0003}section{max-width:1200px;margin:0 auto;padding:4rem 2rem}h1,h2,h3{color:var(--textPrimary);margin-bottom:1rem}p{color:var(--textMuted);margin-bottom:1.5rem}button{background:linear-gradient(90deg, var(--primary1), var(--primary2));color:var(--background);cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-weight:600;transition:transform .2s}button:hover{transform:translateY(-2px)}@media (prefers-color-scheme:dark){:root{--background:#0a0a12;--panel:#12121f;--border:#1e1e35;--primary1:#ffbfb5;--primary2:#3e4aeb;--secondary:#a8b0ff;--textPrimary:#f0eff8;--textMuted:#6e6d8a}}@media (width<=768px){.hero-section{text-align:center;padding:6rem 1.25rem 3rem}.hero-layout{grid-template-columns:1fr;gap:2rem}.hero-content,.hero-text-content{text-align:center;max-width:100%}.hero-3d-wrapper{order:-1;justify-self:center;width:min(100%,360px);min-height:300px}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.5rem}.hero-description{font-size:1rem}.about-content{text-align:center;flex-direction:column}.about-text{text-align:center}.hero-logo{font-size:3rem}.hero-tagline{font-size:1.25rem}.nav-links{gap:1rem}.nav-link{font-size:.9rem}.hero-actions{flex-direction:column;gap:1rem}}.carousel-category{margin-bottom:2.5rem}.carousel-category h3{color:var(--textMuted);letter-spacing:.02em;margin-bottom:.85rem;font-size:1.15rem;font-weight:600}.carousel-wrapper{position:relative}.carousel-viewport{border-radius:16px;padding:1rem 0;position:relative;overflow:hidden}.carousel-track{will-change:transform;transition:transform .5s cubic-bezier(.65,0,.35,1);display:flex}.carousel-slide{perspective:800px;flex:0 0 100%;justify-content:center;align-items:center;padding:1rem;display:flex}.slide--current .skill-card{opacity:1;filter:none;transform:scale(1)translateY(0)}.slide--adjacent .skill-card{opacity:.3;filter:blur(1px);pointer-events:none;transform:scale(.78)}.slide--far .skill-card{opacity:.08;filter:blur(3px);pointer-events:none;transform:scale(.55)}.carousel-edge{z-index:5;cursor:pointer;opacity:0;align-items:center;width:25%;transition:opacity .3s;display:flex;position:absolute;top:0;bottom:0}.carousel-edge--left{background:linear-gradient(90deg,#0a0a1280 0%,#0000 100%);justify-content:flex-start;padding-left:.5rem;left:0}.carousel-edge--right{background:linear-gradient(270deg,#0a0a1280 0%,#0000 100%);justify-content:flex-end;padding-right:.5rem;right:0}.carousel-viewport:hover .carousel-edge:not(.is-hidden){opacity:1}.carousel-edge.is-hidden{display:none}.carousel-arrow{color:var(--textPrimary);opacity:.75;text-shadow:0 2px 8px #0006;font-size:2.5rem;line-height:1;transition:opacity .2s,transform .2s}.carousel-edge:hover .carousel-arrow{opacity:1;transform:scale(1.25)}.carousel-pagination{justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.carousel-counter{color:var(--textMuted);letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.carousel-progress{background:var(--border);border-radius:2px;width:120px;height:3px;overflow:hidden}.carousel-progress-bar{background:linear-gradient(90deg, var(--primary1), var(--primary2));border-radius:2px;height:100%;transition:width .5s cubic-bezier(.65,0,.35,1)}.skill-card{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:16px;flex-direction:column;flex:none;width:360px;max-width:65vw;min-height:220px;transition:transform .5s cubic-bezier(.65,0,.35,1),box-shadow .5s,opacity .5s,filter .5s;display:flex;position:relative;overflow:hidden}.skill-card__accent{flex-shrink:0;height:5px}.skill-card__pattern{pointer-events:none;opacity:.06;position:absolute;inset:0}.skill-card__pattern[data-index="0"]{background-image:radial-gradient(circle at 25% 25%,currentColor 1px,#0000 1px);background-size:20px 20px}.skill-card__pattern[data-index="1"]{background-image:linear-gradient(45deg,currentColor 1px,#0000 1px);background-size:16px 16px}.skill-card__pattern[data-index="2"]{background-image:repeating-linear-gradient(0deg,#0000,#0000 12px,currentColor 12px 13px)}.skill-card__pattern[data-index="3"]{background-image:radial-gradient(circle,currentColor 2px,#0000 2px);background-size:24px 24px}.skill-card__body{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.85rem;padding:1.5rem 1.5rem 2rem;display:flex;position:relative}.skill-card__icon{opacity:.85;filter:drop-shadow(0 2px 4px #0003);font-size:2.75rem;line-height:1}.skill-card__name{text-align:center;letter-spacing:.02em;font-size:.95rem;font-weight:700;line-height:1.35}.skill-card__glow{pointer-events:none;border-radius:inherit;opacity:0;z-index:2;transition:opacity .5s;position:absolute;inset:0}.skill-card__shine{pointer-events:none;border-radius:inherit;z-index:2;opacity:0;background:linear-gradient(105deg,#0000 35%,#ffffff0a 45%,#ffffff14 50%,#ffffff0a 55%,#0000 65%) 0 0/300% 100%;transition:opacity .3s;position:absolute;inset:0}.skill-card--active .skill-card__shine{opacity:1;animation:4s ease-in-out infinite shineSweep}@keyframes shineSweep{0%{background-position:200% 0}50%{background-position:-100% 0}to{background-position:200% 0}}.slide--current .skill-card{filter:drop-shadow(0 12px 32px #00000059)}.skill-card--active{transform:translateY(-8px)scale(1.03);box-shadow:0 2px 4px #00000014,0 8px 16px #0000001f,0 24px 48px #00000029,0 48px 96px #0000001a}.skill-card--active .skill-card__glow{opacity:1}.skill-card--clicked{animation:.6s ease-out cardPop}@keyframes cardPop{0%{transform:scale(.96)translateY(0)}25%{transform:scale(1.1)translateY(-6px);box-shadow:0 0 60px #ffbfb580}to{transform:translateY(-8px)scale(1.03)}}.skill-card--glass{-webkit-backdrop-filter:blur(20px);color:var(--textPrimary);background:linear-gradient(145deg,#1c1c3080,#12121f99);border:1px solid #ffffff14;box-shadow:0 2px 6px #0000001a,0 8px 20px #00000014}.skill-card--glass .skill-card__accent{background:linear-gradient(90deg,#ffffff05,#ffffff2e,#ffffff05)}.skill-card--glass .skill-card__glow{background:radial-gradient(80% 50% at 30% 20%,#ffffff14,#0000 70%)}.skill-card--glass.skill-card--active{box-shadow:0 4px 8px #0000001f,0 12px 24px #00000029,0 32px 64px #00000024,0 64px 128px #00000014,0 0 0 1px #ffffff0f}.skill-card--clay{color:#2d2a24;background:linear-gradient(160deg,#dcc4a4 0%,#c4a882 40%,#b89e7a 100%);border:none;border-radius:24px;box-shadow:0 2px 4px #0000001f,0 8px 16px #0000001a,inset 0 -4px 8px #00000014,inset 0 2px 4px #ffffff1f}.skill-card--clay .skill-card__accent{background:linear-gradient(90deg,#0000 5%,#00000014 50%,#0000 95%);height:6px}.skill-card--clay .skill-card__glow{background:radial-gradient(70% 40% at 50% 0,#ffffff2e,#0000 70%)}.skill-card--clay .skill-card__body{padding-top:2rem;padding-bottom:2.25rem}.skill-card--clay.skill-card--active{box-shadow:0 4px 8px #00000026,0 14px 28px #0000002e,0 36px 72px #00000026,0 72px 144px #0000001a,inset 0 -4px 8px #00000014,inset 0 2px 4px #ffffff1f}.skill-card--skeuo{color:var(--textPrimary);background:linear-gradient(#33334a 0%,#1f1f35 40%,#141425 100%);border:1px solid #44445e;border-top-color:#555570;border-radius:8px;box-shadow:0 2px 4px #0000004d,0 8px 16px #0003,inset 0 1px #ffffff0d}.skill-card--skeuo .skill-card__accent{background:linear-gradient(90deg,#ffbfb5,#a8b0ff,#3e4aeb);height:3px}.skill-card--skeuo .skill-card__glow{background:linear-gradient(#ffffff0a 0%,#0000 50%)}.skill-card--neumorph{color:var(--textPrimary);background:#12121f;border:none;border-radius:20px;box-shadow:8px 8px 18px #0006,-8px -8px 18px #ffffff04}.skill-card--neumorph .skill-card__accent{height:0}.skill-card--neumorph .skill-card__glow{background:radial-gradient(circle,#a0b0ff0f,#0000 60%)}.skill-card--neumorph.skill-card--active{box-shadow:8px 8px 18px #0006,-8px -8px 18px #ffffff04,0 12px 32px #0003}.skill-card--minimal{color:var(--textPrimary);box-shadow:none;background:#f0eff805;border:1px solid #f0eff814;border-radius:2px}.skill-card--minimal .skill-card__accent{background:var(--primary2);opacity:.5;height:2px}.skill-card--minimal .skill-card__glow{background:radial-gradient(circle,#f0eff80a,#0000 60%)}.skill-card--minimal.skill-card--active{box-shadow:0 0 0 1px #f0eff80f,0 8px 24px #0000001f}.skill-card--bento{background:var(--panel);border:1px solid var(--border);color:var(--textPrimary);border-radius:16px;box-shadow:0 2px 8px #0000001a}.skill-card--bento .skill-card__accent{height:0}.skill-card--bento .skill-card__body{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:center;gap:.4rem .75rem;padding:1.75rem;display:grid}.skill-card--bento .skill-card__icon{grid-row:1/3;align-self:center;font-size:2rem}.skill-card--bento .skill-card__name{grid-column:2;justify-self:start;font-size:1rem}.skill-card--bento .skill-card__glow{background:linear-gradient(135deg,#3e4aeb0f,#ffbfb50f)}.skill-card--bento .skill-card__pattern{opacity:.03;background-image:linear-gradient(#0000 49%,currentColor 49% 51%,#0000 51%),linear-gradient(90deg,#0000 49%,currentColor 49% 51%,#0000 51%);background-size:24px 24px}.skill-card--motion{color:#0a0a12;background:linear-gradient(135deg,#3e4aeb,#6b7aff,#a8b0ff,#ffbfb5,#ffd4cc) 0 0/400% 400%;border:none;animation:5s ease-in-out infinite motionFlow}.skill-card--motion .skill-card__accent{display:none}.skill-card--motion .skill-card__glow{background:radial-gradient(80% 40% at 50% 10%,#ffffff40,#0000 70%)}.skill-card--motion .skill-card__name{text-shadow:0 1px 2px #0000001a}@keyframes motionFlow{0%{background-position:0%}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}to{background-position:0%}}.skill-card--micro{color:var(--textPrimary);background:linear-gradient(160deg,#18182a,#12121f);border:1px solid #2a2a44;border-radius:12px;box-shadow:0 2px 8px #0000001f}.skill-card--micro .skill-card__accent{background:repeating-linear-gradient(90deg, var(--primary1), var(--primary1) 6px, transparent 6px, transparent 12px);height:4px}.skill-card--micro .skill-card__glow{background:radial-gradient(at 50% 0,#ffbfb514,#0000 60%)}.skill-card--duality{color:var(--textPrimary);background:linear-gradient(135deg,#0a0a12 50%,#f0eff8 50%);border:none;border-radius:14px;box-shadow:0 2px 10px #00000026}.skill-card--duality .skill-card__accent{display:none}.skill-card--duality .skill-card__icon{filter:drop-shadow(0 2px 6px #00000026)}.skill-card--duality .skill-card__name{background:linear-gradient(135deg,#f0eff8 50%,#0a0a12 50%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.skill-card--duality .skill-card__glow{background:radial-gradient(circle at 30%,#ffffff14,#0000 60%)}.skill-card--fluid{color:var(--textPrimary);background:linear-gradient(135deg,#0d1117 0%,#161b22 50%,#1c2333 100%);border:1px solid #30363d;border-radius:10px;box-shadow:0 2px 8px #00000026}.skill-card--fluid .skill-card__accent{background:linear-gradient(90deg,#58a6ff,#79c0ff);height:4px}.skill-card--fluid .skill-card__glow{background:radial-gradient(at 30% 20%,#58a6ff0f,#0000 60%)}.skill-card--access{border:2px solid var(--primary2);color:var(--textPrimary);background:linear-gradient(#1a1a2e,#12121f);border-radius:6px;box-shadow:0 2px 8px #0000001f}.skill-card--access .skill-card__accent{background:var(--primary2);opacity:.8;height:4px}.skill-card--access .skill-card__icon{font-size:3rem}.skill-card--access .skill-card__name{letter-spacing:.03em;font-weight:800}.skill-card--access .skill-card__glow{background:radial-gradient(at 50% 30%,#3e4aeb14,#0000 60%)}.skill-card--default{color:var(--textPrimary);background:linear-gradient(160deg,#1c1c30,#141425);border:1px solid #2a2a44;border-radius:14px;box-shadow:0 2px 8px #0000001f}.skill-card--default .skill-card__accent{background:linear-gradient(90deg,#3e4aeb,#a8b0ff);height:4px}.skill-card--default .skill-card__glow{background:radial-gradient(at 50% 20%,#a0b0ff0f,#0000 60%)}@media (width<=768px){.skill-card{width:80vw;min-height:180px}.skill-card__body{gap:.65rem;padding:1.25rem 1rem 1.5rem}.skill-card__icon{font-size:2rem}.skill-card__name{font-size:.85rem}.carousel-slide{padding:.5rem}.slide--adjacent .skill-card{opacity:.15;filter:blur(2px);transform:scale(.7)}.slide--far .skill-card{opacity:.04;filter:blur(4px);transform:scale(.45)}.carousel-edge{width:20%}.carousel-arrow{font-size:1.75rem}}.carousel-three{z-index:1;pointer-events:none;inset:0;width:100%!important;height:100%!important;position:absolute!important}:root{--debug-app:#fff;--debug-hero:#ff4d6d;--debug-about:#2ec4b6;--debug-catalog:#ffd166;--debug-skills:#7b61ff;--debug-contact:#06d6a0;--debug-content:#4cc9f0;--debug-control:#f72585}[data-ui]{box-shadow:inset 0 0 0 2px var(--ui-debug-color,var(--debug-app));position:relative}[data-ui]:before{content:attr(data-ui);z-index:50;background:var(--ui-debug-color,var(--debug-app));color:#0a0a12;letter-spacing:0;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;max-width:min(100%,18rem);padding:.15rem .35rem;font-size:.68rem;font-weight:700;line-height:1.2;position:absolute;top:0;left:0;overflow:hidden;transform:translateY(-100%)}.app{--ui-debug-color:var(--debug-app)}.hero-section,.hero-section [data-ui]{--ui-debug-color:var(--debug-hero)}.about-section,.about-section [data-ui]{--ui-debug-color:var(--debug-about)}.catalog-section,.catalog-section [data-ui]{--ui-debug-color:var(--debug-catalog)}.skills-section,.skills-section [data-ui]{--ui-debug-color:var(--debug-skills)}.contact-section,.contact-section [data-ui]{--ui-debug-color:var(--debug-contact)}.hero-content,.about-content,.catalog-container,.skills-chart-container,.contact-content,.hero-content [data-ui],.about-content [data-ui],.catalog-container [data-ui],.skills-chart-container [data-ui],.contact-content [data-ui]{--ui-debug-color:var(--debug-content)}button[data-ui],.badge[data-ui]{--ui-debug-color:var(--debug-control)}:root{--bg:#080912;--panel:#111524;--line:#f7f4ff1f;--line-strong:#ffbfb547;--coral:#ffbfb5;--indigo:#3e4aeb;--lavender:#a8b0ff;--text:#f7f4ff;--muted:#a8afc4;--quiet:#737b94;--green:#5dd39e;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.experience{background:var(--bg);position:fixed;inset:0;overflow:hidden}.scene-layer{z-index:1;background:radial-gradient(circle at 18% 16%,#ffbfb529,#0000 28%),radial-gradient(circle at 82% 22%,#3e4aeb33,#0000 32%);transition:filter .9s;position:fixed;inset:0}.phase-WebsiteView .scene-layer{filter:blur(1.5px)saturate(.72);opacity:.28}.top-nav{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080912ad;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;height:62px;padding:0 16px;display:grid;position:fixed;top:18px;left:20px;right:20px;box-shadow:0 18px 70px #0000003d}.brand-button{color:var(--text);background:0 0;align-items:center;gap:10px;min-width:0;padding:6px 4px;display:inline-flex}.brand-button img{object-fit:contain;width:34px;height:34px}.brand-button span{white-space:nowrap;font-weight:760}.top-nav nav{justify-content:center;gap:4px;min-width:0;display:flex}.top-nav nav button{color:var(--muted);background:0 0;border-radius:7px;padding:10px 12px;transition:color .18s,background .18s,transform .18s}.top-nav nav button:hover,.top-nav nav button:focus-visible{color:var(--text);outline:1px solid var(--line-strong);background:#ffffff0f;transform:translateY(-1px)}.phase-pill{color:var(--coral);white-space:nowrap;background:#ffbfb514;border:1px solid #ffbfb547;border-radius:7px;padding:8px 10px;font-size:.78rem}.enter-button{z-index:18;color:#090a12;background:linear-gradient(135deg, var(--coral), var(--lavender));border-radius:7px;padding:13px 18px;font-weight:760;transition:opacity .25s,transform .25s;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 18px 54px #3e4aeb47}.phase-WebsiteView .enter-button{opacity:0;pointer-events:none;transform:translate(-50%,16px)}.monitor-preview{z-index:8;aspect-ratio:16/9;opacity:.92;pointer-events:none;background:#060916db;border:1px solid #a8b0ff47;width:min(34vw,520px);padding:12px;transition:opacity .5s,transform .7s;position:fixed;top:50%;left:50%;transform:translate(-50%,-42%)perspective(900px)rotateX(-2deg);box-shadow:inset 0 0 60px #3e4aeb1f,0 0 30px #3e4aeb29}.monitor-preview.is-hidden{opacity:0;transform:translate(-50%,-44%)scale(1.12)}.preview-top{gap:6px;margin-bottom:10px;display:flex}.preview-top span{background:var(--coral);border-radius:50%;width:8px;height:8px}.preview-grid{grid-template-rows:auto auto 1fr;grid-template-columns:.9fr 1.1fr;gap:9px;height:calc(100% - 18px);display:grid}.preview-grid strong{grid-column:1/-1;font-size:clamp(.8rem,2vw,1.45rem)}.preview-grid em{color:var(--lavender);font-style:normal}.preview-chart,.preview-lines{border:1px solid var(--line);background:#ffffff0a;padding:8px}.preview-chart{align-items:end;gap:7px;display:flex}.preview-chart i{background:linear-gradient(180deg, var(--coral), var(--indigo));flex:1}.preview-lines{align-content:center;gap:8px;display:grid}.preview-lines span{background:#a8b0ff61;height:8px}.preview-lines span:nth-child(2n){background:#ffbfb55c;width:72%}.portfolio-surface{z-index:12;overscroll-behavior:contain;transform-origin:50% 43%;opacity:0;pointer-events:none;background:linear-gradient(#0b0e1ef0,#080912f7),radial-gradient(circle at 12% 16%,#ffbfb524,#0000 26%);border:1px solid #a8b0ff2e;border-radius:7px;padding:clamp(26px,5vw,60px);transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1),border-radius .7s;position:fixed;inset:92px clamp(18px,4vw,58px) 26px;overflow-y:auto;transform:translateY(36px)scale(.24);box-shadow:0 30px 120px #0000006b,inset 0 1px #ffffff0f}.portfolio-surface.is-readable{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.portfolio-surface::-webkit-scrollbar{display:none}.portfolio-surface{-ms-overflow-style:none;scrollbar-width:none}.portfolio-section{max-width:1180px;margin:0 auto;padding:clamp(70px,12vh,130px) 0}.portfolio-section+.portfolio-section{border-top:1px solid #f7f4ff17}.eyebrow{color:var(--coral);text-transform:uppercase;letter-spacing:.13em;margin:0 0 16px;font-size:.76rem;font-weight:800}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:0;max-width:850px;margin-bottom:26px;font-size:clamp(3.4rem,9vw,8.2rem);line-height:.92}h2{letter-spacing:0;max-width:840px;margin-bottom:22px;font-size:clamp(2rem,4.6vw,4.8rem);line-height:1}h3{margin-bottom:10px;font-size:1.15rem}p{color:var(--muted);line-height:1.72}.hero-copy{align-content:center;min-height:78vh;display:grid}.hero-lede{max-width:690px;font-size:clamp(1.05rem,2vw,1.42rem)}.hero-actions,.mock-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-actions button,.contact-form button,.mock-controls button{color:#080912;background:linear-gradient(135deg, var(--coral), var(--lavender));border-radius:7px;padding:12px 16px;font-weight:800;transition:transform .18s,box-shadow .18s}.hero-actions button:hover,.contact-form button:hover,.mock-controls button:hover{transform:translateY(-2px);box-shadow:0 14px 34px #3e4aeb3d}.hero-actions .ghost,.mock-controls button:nth-child(2){color:var(--text);border:1px solid var(--line);background:#ffffff12}.metric-row{grid-template-columns:repeat(3,1fr);gap:12px;max-width:850px;margin-top:34px;display:grid}.metric-row span,.profile-panel,.work-card,.catalog-category,.contact-form{border:1px solid var(--line);background:#ffffff0b;box-shadow:0 18px 60px #00000038}.metric-row span{color:var(--muted);border-radius:7px;padding:16px}.metric-row strong{color:var(--text);font-size:1.15rem;display:block}.split-section,.contact-section{grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr);align-items:start;gap:clamp(24px,5vw,64px);display:grid}.profile-panel{border-radius:7px;padding:24px}.tag-cloud{flex-wrap:wrap;gap:9px;display:flex}.tag-cloud span{color:var(--text);background:#3e4aeb24;border:1px solid #a8b0ff38;border-radius:6px;padding:7px 9px;font-size:.86rem}.work-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px;display:grid}.work-card{border-radius:7px;min-height:220px;padding:22px}.work-card h3{color:var(--coral)}.catalog-section h2{margin-bottom:34px}.catalog-category{border-radius:7px;margin:0 0 34px;padding:22px;overflow:hidden}.category-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.category-heading h3{margin:0}.category-heading span{color:var(--quiet);font-variant-numeric:tabular-nums}.coverflow{perspective:1300px;outline:none;height:clamp(330px,46vw,470px);position:relative}.coverflow:focus-visible{box-shadow:0 0 0 2px var(--coral)}.flow-card{width:min(620px,66%);height:100%;transform-style:preserve-3d;background:var(--bg);text-align:left;will-change:transform;border-radius:22px;margin:auto;padding:0;position:absolute;inset:0}.flow-card.is-active .showcase-mock{box-shadow:0 32px 70px #00000080,0 0 0 1px #ffffff29}.showcase-mock{height:100%;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(145deg,#161b30f0,#0a0c19fa);border:1px solid #ffffff1f;border-radius:22px;padding:16px;transition:transform .22s;position:relative;overflow:hidden}.showcase-mock.frontend{background:linear-gradient(145deg,#ffbfb51f,#3e4aeb33),#0c0e1cf5}.showcase-mock.performance{background:linear-gradient(145deg,#5dd39e21,#0c0e1cfa)}.showcase-mock.security{background:linear-gradient(145deg,#3e4aeb3d,#080912fa)}.showcase-mock.engineering{background:linear-gradient(145deg,#a8b0ff29,#0f1221fa)}.showcase-mock.presentation{background:linear-gradient(145deg,#ffbfb529,#080912fa)}.mock-nav{border-bottom:1px solid #ffffff1a;align-items:center;gap:8px;height:38px;margin-bottom:14px;display:flex}.mock-nav b{overflow-wrap:anywhere;margin-right:auto}.mock-nav span{background:#ffffff38;border-radius:99px;width:26px;height:8px}.mock-layout{grid-template-columns:58px 1fr;gap:14px;height:calc(100% - 52px);display:grid}.mock-layout aside{align-content:start;gap:9px;display:grid}.mock-layout aside i{background:#ffffff14;border-radius:8px;height:38px}.mock-layout main{align-content:start;gap:10px;min-width:0;display:grid}.mock-layout h4{overflow-wrap:anywhere;margin:0;font-size:clamp(1.05rem,2vw,1.8rem)}.mock-layout p{margin:0;font-size:.84rem}.mock-controls button{padding:8px 10px;font-size:.78rem}.mock-controls label{color:var(--muted);align-items:center;gap:5px;font-size:.78rem;display:inline-flex}.mock-inputs{grid-template-columns:1fr 100px;gap:8px;display:grid}.mock-inputs input,.mock-inputs select,.contact-form input,.contact-form textarea{min-width:0;color:var(--text);background:#ffffff12;border:1px solid #ffffff21;border-radius:7px;outline:none;padding:10px}.mock-cards{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mock-cards span{background:#ffffff17;border-radius:9px;height:56px;animation:2.8s ease-in-out infinite cardLift}.mock-cards span:nth-child(2){background:#ffbfb529;animation-delay:.18s}.mock-cards span:nth-child(3){background:#3e4aeb38;animation-delay:.36s}.mock-chart{border:1px solid #ffffff1f;border-radius:9px;align-items:end;gap:7px;height:90px;padding:10px;display:flex}.mock-chart i{background:linear-gradient(180deg, var(--coral), var(--indigo));border-radius:6px 6px 0 0;flex:1;animation:2.2s ease-in-out infinite barPulse}.mock-chart i:first-child{height:42%}.mock-chart i:nth-child(2){height:68%;animation-delay:.13s}.mock-chart i:nth-child(3){height:50%;animation-delay:.26s}.mock-chart i:nth-child(4){height:82%;animation-delay:.39s}.mock-chart i:nth-child(5){height:62%;animation-delay:.52s}.mock-badge{color:var(--green);font-size:.76rem;font-style:normal;position:absolute;bottom:14px;right:16px}@keyframes cardLift{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes barPulse{0%,to{transform:scaleY(.82)}50%{transform:scaleY(1)}}.contact-form{border-radius:7px;gap:12px;padding:20px;display:grid}.contact-form textarea{resize:vertical;min-height:120px}.planning-panel{z-index:11;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(440px,100vw - 40px);max-height:34vh;color:var(--muted);background:#080912ad;border:1px solid #ffbfb52e;gap:7px;padding:14px;font-size:.72rem;transition:opacity .25s;display:grid;position:fixed;bottom:20px;left:20px;overflow:auto}.phase-WebsiteView .planning-panel{opacity:0;pointer-events:none}.planning-panel strong{color:var(--coral)}.planning-panel b{color:var(--text)}@media (width<=860px){body{overflow:hidden}.top-nav{grid-template-columns:auto auto;align-items:start;height:auto}.top-nav nav{grid-column:1/-1;justify-content:flex-start;padding-bottom:6px;overflow-x:auto}.phase-pill,.brand-button span{display:none}.portfolio-surface{padding:22px;inset:116px 12px 16px}.monitor-preview{width:72vw}h1{font-size:clamp(2.8rem,18vw,4.4rem)}h2{font-size:clamp(1.85rem,10vw,3rem)}.metric-row,.split-section,.contact-section,.work-grid{grid-template-columns:1fr}.coverflow{height:390px}.flow-card{width:86%}.mock-layout{grid-template-columns:1fr}.mock-layout aside{display:none}.mock-inputs{grid-template-columns:1fr}.planning-panel{display:none}}@media (width<=520px){.top-nav{padding:10px;top:10px;left:10px;right:10px}.top-nav nav button{padding:8px 9px;font-size:.86rem}.portfolio-surface{padding:18px;inset:106px 8px 10px}.portfolio-section{padding:58px 0}.hero-actions{align-items:stretch}.hero-actions button{width:100%}.catalog-category{padding:14px}.coverflow{height:360px}.flow-card{width:94%}}.experience:before{filter:blur(.2px)}.phase-WebsiteView:before,.phase-WebsiteView:after{opacity:0}.experience:before,.experience:after{z-index:0}.scroll-hint{z-index:30;color:#f7f4ff80;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;flex-direction:column;align-items:center;gap:8px;font-size:12px;animation:2s ease-in-out infinite scrollHintPulse;display:flex;position:fixed;bottom:36px;left:50%;transform:translate(-50%)}.scroll-hint-arrow{background:linear-gradient(#a8b0ff99,#0000);width:1px;height:28px;animation:2s ease-in-out infinite scrollHintDrop}@keyframes scrollHintPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes scrollHintDrop{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.portfolio-overlay{z-index:50;background:0 0;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.portfolio-overlay-inner{flex-direction:column;align-items:center;gap:40px;width:100%;max-width:760px;padding:0 24px;display:flex}.portfolio-overlay-terminal{background:#141414f7;border:1px solid #ffffff12;border-radius:12px;width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;overflow:hidden;box-shadow:0 32px 80px #0009,0 0 0 1px #a8b0ff14}.portfolio-overlay-bar{background:#333;align-items:center;gap:8px;padding:12px 16px;display:flex;position:relative}.portfolio-overlay-bar .dot{border-radius:50%;width:12px;height:12px;display:inline-block}.portfolio-overlay-bar .dot.red{background:#ff5f56}.portfolio-overlay-bar .dot.yellow{background:#ffbd2e}.portfolio-overlay-bar .dot.green{background:#27c93f}.portfolio-overlay-bar .terminal-title{color:#888;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.portfolio-overlay-lines{flex-direction:column;gap:6px;padding:20px 20px 24px;display:flex}.portfolio-overlay-lines p{margin:0;line-height:1.6}.portfolio-overlay-lines .prompt{color:#61afef}.portfolio-overlay-lines .muted{color:#abb2bf}.portfolio-overlay-lines .success{color:#98c379}.portfolio-overlay-page{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.portfolio-overlay-page h1{letter-spacing:-.03em;background:linear-gradient(135deg, var(--text) 0%, var(--lavender) 60%, var(--coral) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(40px,6vw,72px);font-weight:800}.portfolio-overlay-page p{color:var(--muted);margin:0;font-size:16px}.back-btn{color:var(--lavender);letter-spacing:.02em;cursor:pointer;background:#a8b0ff1a;border:1px solid #a8b0ff40;border-radius:100px;margin-top:8px;padding:12px 28px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,transform .15s}.back-btn:hover{border-color:var(--lavender);background:#a8b0ff33;transform:translateY(-2px)}
