@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&family=DM+Mono:wght@300;400;500&family=DM+Sans:wght@300;400;500&display=swap);body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0b;--surface:#111114;--surface-2:#18181d;--border:hsla(0,0%,100%,.545);--text:#e8e6e1;--text-muted:#7a7875;--accent:#c8a96e;--accent-2:#4e7c6b;--accent-glow:#c8a96e26;--font-display:"Playfair Display",Georgia,serif;--font-mono:"DM Mono","Courier New",monospace;--font-body:"DM Sans",sans-serif;--radius:4px;--transition:0.35s cubic-bezier(0.25,0.46,0.45,0.94)}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background-color:#0a0a0b;background-color:var(--bg);color:#e8e6e1;color:var(--text);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-weight:300;line-height:1.65;overflow-x:hidden}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.04'/%3E%3C/svg%3E");content:"";inset:0;opacity:.4;pointer-events:none;position:fixed;z-index:0}.navbar{align-items:center;background:#222;color:#fff;display:flex;height:60px;justify-content:space-around;left:0;position:fixed;right:0;top:0;transition:transform .3s ease,opacity .3s ease;z-index:1000}.navbar--hidden{opacity:0;transform:translateY(-100%)}.navbar--visible{opacity:1;transform:translateY(0)}.navbar img{height:60px}.App{margin:0 auto;max-width:1100px;padding:0 clamp(20px,5vw,60px);z-index:1}.App,.App-header{position:relative}.App-header{display:flex;flex-direction:column;justify-content:center;min-height:100svh;overflow:hidden;padding:80px 0 60px}.App-header:before{-webkit-text-stroke:1px #ffffff0a;color:#0000;content:"KW";font-family:Playfair Display,Georgia,serif;font-family:var(--font-display);font-size:clamp(180px,30vw,340px);font-weight:900;line-height:1;pointer-events:none;position:absolute;right:-.1em;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none}.App-header:after{animation:expandLine 1s cubic-bezier(.25,.46,.45,.94) .35s both;animation:expandLine 1s var(--transition) both;background:#c8a96e;background:var(--accent);content:"";display:block;height:2px;margin-bottom:28px;width:60px}@keyframes expandLine{0%{opacity:0;width:0}to{opacity:1;width:60px}}.App-header h1{animation:slideUp .1s .9s cubic-bezier(.25,.46,.45,.94) .35s both;animation:slideUp .9s var(--transition) .1s both;color:#e8e6e1;color:var(--text);font-family:Playfair Display,Georgia,serif;font-family:var(--font-display);font-size:clamp(42px,8vw,96px);font-weight:900;letter-spacing:-.02em;line-height:1}.App-header h1 strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e8e6e1,#c8a96e 60%,#e8e6e1);background:linear-gradient(135deg,var(--text) 0,var(--accent) 60%,var(--text) 100%);-webkit-background-clip:text;background-clip:text;font-weight:inherit}.App-header .subtitle{animation:slideUp .3s .9s cubic-bezier(.25,.46,.45,.94) .35s both;animation:slideUp .9s var(--transition) .3s both;font-size:clamp(12px,1.8vw,15px);letter-spacing:.15em;margin-top:20px}.App-header .scroll-hint,.App-header .subtitle{color:#7a7875;color:var(--text-muted);font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);text-transform:uppercase}.App-header .scroll-hint{align-items:center;animation:fadeIn 1.2s ease .8s both;bottom:40px;display:flex;font-size:11px;gap:12px;left:0;letter-spacing:.1em;position:absolute}.App-header .scroll-hint:before{animation:expandLine 1s ease 1s both;background:#7a7875;background:var(--text-muted);content:"";display:block;height:1px;width:40px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.Education>h1,.Portfolio>h1{align-items:center;color:#c8a96e;color:var(--accent);display:flex;font-family:Playfair Display,Georgia,serif;font-family:var(--font-display);font-size:clamp(11px,1.4vw,13px);font-style:italic;font-weight:400;gap:20px;letter-spacing:.2em;margin-bottom:60px;padding-top:100px;text-transform:uppercase}.Education>h1:after,.Portfolio>h1:after{background:hsla(0,0%,100%,.545);background:var(--border);content:"";flex:1 1;height:1px}.Portfolio{padding-bottom:80px}.Card,.Card-2{grid-gap:0;background:#111114;background:var(--surface);border:1px solid hsla(0,0%,100%,.545);border:1px solid var(--border);border-radius:4px;border-radius:var(--radius);display:grid;gap:0;margin-bottom:80px;overflow:hidden;position:relative;transition:border-color .35s cubic-bezier(.25,.46,.45,.94),transform .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s cubic-bezier(.25,.46,.45,.94);transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.Card-2:hover,.Card:hover{border-color:#c8a96e40;box-shadow:0 24px 60px #00000080,0 0 0 1px #c8a96e1a;transform:translateY(-4px)}.Card-2:before,.Card:before{background:radial-gradient(ellipse at 50% 0,#c8a96e26,#0000 70%);background:radial-gradient(ellipse at 50% 0,var(--accent-glow),#0000 70%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .35s cubic-bezier(.25,.46,.45,.94);transition:opacity var(--transition);z-index:0}.Card-2:hover:before,.Card:hover:before{opacity:1}.Card{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.Card img{display:block;filter:grayscale(20%) brightness(.85);height:260px;object-fit:cover;transition:filter .35s cubic-bezier(.25,.46,.45,.94);transition:filter var(--transition);width:100%}.Card:hover img{filter:grayscale(0) brightness(.95)}.Card .Container{grid-column:1/-1;padding:clamp(28px,4vw,48px);position:relative;z-index:1}.Card-2{grid-template-columns:340px 1fr}.Card-2 img{display:block;filter:grayscale(30%) brightness(.8);height:100%;min-height:280px;object-fit:cover;transition:filter .35s cubic-bezier(.25,.46,.45,.94);transition:filter var(--transition);width:100%}.Card-2:hover img{filter:grayscale(10%) brightness(.9)}.Card-2 .Container{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,48px);position:relative;z-index:1}.Container h4{color:#e8e6e1;color:var(--text);font-family:Playfair Display,Georgia,serif;font-family:var(--font-display);font-size:clamp(26px,4vw,40px);font-weight:700;letter-spacing:-.01em;line-height:1.15;margin-bottom:16px}.Container h4:before{color:#c8a96e;color:var(--accent);content:attr(data-tag);display:block;font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;margin-bottom:10px;text-transform:uppercase}.Container p{color:#7a7875;color:var(--text-muted);font-size:clamp(14px,1.6vw,16px)!important;font-weight:300;line-height:1.75;max-width:680px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tech-tag{background:#4e7c6b1f;border:1px solid #4e7c6b40;border-radius:2px;color:#4e7c6b;color:var(--accent-2);font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.05em;padding:4px 10px}.Education{padding-bottom:120px}.course-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.course-pill{border:1px solid hsla(0,0%,100%,.545);border:1px solid var(--border);border-radius:2px;color:#7a7875;color:var(--text-muted);font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);font-size:11.5px;padding:5px 12px;transition:border-color .35s cubic-bezier(.25,.46,.45,.94),color .35s cubic-bezier(.25,.46,.45,.94);transition:border-color var(--transition),color var(--transition)}.course-pill:hover{border-color:#c8a96e;border-color:var(--accent)}.course-pill:hover,.degree-info{color:#c8a96e;color:var(--accent)}.degree-info{font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;line-height:1.9;margin-bottom:20px}.contact-form{gap:16px;margin-top:8px;width:100%}.contact-form,.field-group{display:flex;flex-direction:column}.field-group{gap:6px}.field-label{color:#c8a96e;color:var(--accent);font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.textbox{appearance:none;background:#0a0a0b;background:var(--bg);border:1px solid hsla(0,0%,100%,.545);border:1px solid var(--border);border-radius:4px;border-radius:var(--radius);color:#e8e6e1;color:var(--text);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:300;outline:none;padding:12px 16px;transition:border-color .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s cubic-bezier(.25,.46,.45,.94),background .35s cubic-bezier(.25,.46,.45,.94);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);width:100%}.textbox::placeholder{color:#7a7875;color:var(--text-muted);opacity:.6}.textbox:focus{background:#c8a96e0a;border-color:#c8a96e;border-color:var(--accent);box-shadow:0 0 0 3px #c8a96e14}textarea.textbox{line-height:1.6;min-height:120px;resize:vertical}.contact-btn{align-self:flex-start;background:#0000;border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:4px;border-radius:var(--radius);color:#c8a96e;color:var(--accent);cursor:pointer;font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.18em;margin-top:8px;overflow:hidden;padding:12px 32px;position:relative;text-transform:uppercase;transition:color .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s cubic-bezier(.25,.46,.45,.94);transition:color var(--transition),box-shadow var(--transition)}.contact-btn:before{background:#c8a96e;background:var(--accent);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94);z-index:0}.contact-btn:hover:before{transform:translateX(0)}.contact-btn:hover{box-shadow:0 8px 24px #c8a96e40;color:#0a0a0b;color:var(--bg)}.contact-btn span{position:relative;z-index:1}.contact-btn:disabled{cursor:not-allowed;opacity:.5}.contact-btn:disabled:before{display:none}.form-status{animation:slideUp .3s ease both;border-radius:4px;border-radius:var(--radius);font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;margin-top:4px;padding:10px 14px}.form-status.success{background:#4e7c6b1f;border:1px solid #4e7c6b40;color:#4e7c6b;color:var(--accent-2)}.form-status.error{background:#c0625a1a;border:1px solid #c0625a40;color:#c0625a}.App-footer{border-top:1px solid hsla(0,0%,100%,.545);border-top:1px solid var(--border);color:#7a7875;color:var(--text-muted);font-family:DM Mono,Courier New,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;padding:40px 0 60px;text-align:center}@media (max-width:860px){.Card{grid-template-columns:1fr}.Card img{height:220px}.Card-2{grid-template-columns:1fr}.Card-2 img{height:240px;min-height:0;min-height:auto}}@media (max-width:560px){.App-header:before{opacity:.5;right:-.2em}.Card img{height:180px}.Education>h1,.Portfolio>h1{margin-bottom:40px;padding-top:70px}.Card,.Card-2{margin-bottom:50px}}
/*# sourceMappingURL=main.a8d1a337.css.map*/