@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Mono:ital,wght@0,300;0,400;0,500;1,300&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{min-height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden;transition:background-color .5s ease,color .5s ease}@media (pointer:fine){*{cursor:none!important}}h1,h2,h3,h4,h5,h6{font-weight:400}p{color:var(--text-dim);line-height:1.65}a{color:inherit;text-decoration:none}ul{list-style:none}.section-container{display:flex;flex-direction:column;position:relative;width:100%}.section-title{color:var(--text);font-family:var(--font-display);font-size:clamp(3.5rem,8vw,7rem);letter-spacing:.03em;line-height:.9;margin-bottom:3rem}.section-divider{display:none}.section-subtitle{color:var(--text-dim);font-family:var(--font-body);font-size:.85rem;letter-spacing:.02em;line-height:1.75;margin-bottom:3rem;max-width:520px}.btn-primary{align-items:center;background:var(--text);border:none;border-radius:2px;color:var(--bg);display:inline-flex;font-family:var(--font-body);font-size:.75rem;gap:.5rem;letter-spacing:.12em;padding:.85rem 1.75rem;text-transform:uppercase;transition:background .2s ease}.btn-primary:hover{background:var(--accent)}.btn-primary:disabled{opacity:.4}.btn-secondary{align-items:center;background:#0000;border:1px solid var(--border);border-radius:2px;color:var(--text-dim);display:inline-flex;font-family:var(--font-body);font-size:.75rem;gap:.5rem;letter-spacing:.12em;padding:.85rem 1.75rem;text-transform:uppercase;transition:color .2s ease,border-color .2s ease}.btn-secondary:hover{border-color:var(--text-dim);color:var(--text)}main{counter-reset:section-counter}main>div{counter-increment:section-counter}.section-container:before{color:rgba(var(--text-rgb),.03);content:counter(section-counter,decimal-leading-zero);font-family:var(--font-display);font-size:clamp(5rem,13vw,10rem);letter-spacing:.05em;line-height:1;pointer-events:none;position:absolute;right:-1rem;top:-2.5rem;-webkit-user-select:none;user-select:none;z-index:0}:root{--bg:#09090b;--bg-rgb:9,9,11;--surface:#111113;--text:#f4f4f5;--text-rgb:244,244,245;--text-dim:#f4f4f56b;--border:#f4f4f514;--accent:#ff6b2b;--accent-rgb:255,107,43;--font-display:"Bebas Neue",sans-serif;--font-body:"IBM Plex Mono",monospace;--text-main:var(--text);--text-muted:var(--text-dim);--border-color:var(--border);--bg-color:var(--bg);--svg-filter:invert(1);--ripple-rgb:244,244,245}[data-mode=light]{--bg:#f5f4ef;--bg-rgb:245,244,239;--surface:#eceae4;--text:#0d0d0d;--text-rgb:13,13,13;--text-dim:#0d0d0d73;--border:#0d0d0d1a;--accent:#e85a1a;--accent-rgb:232,90,26;--bg-color:var(--bg);--text-main:var(--text);--text-muted:var(--text-dim);--border-color:var(--border);--svg-filter:invert(0);--ripple-rgb:13,13,13}.home-container{display:flex;flex-direction:column;min-height:100vh;position:relative}.base-bg{background-color:var(--bg);inset:0;position:fixed;transition:background-color .5s ease;z-index:-3}main{flex-grow:1}main>div{display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1160px;min-height:100vh;padding:8rem 4rem;width:100%}main>div#hero{max-width:100%;padding:0}.cursor-dot{background:var(--accent);border-radius:50%;height:6px;left:-3px;top:-3px;width:6px;z-index:9999}.cursor-dot,.cursor-ring{pointer-events:none;position:fixed;will-change:transform}.cursor-ring{left:0;top:0;z-index:9998}.cursor-ring-inner{border:1px solid rgba(var(--accent-rgb),.65);border-radius:50%;height:38px;opacity:.8;transform:translate(-50%,-50%);transition:width .22s ease,height .22s ease,border-color .22s ease,opacity .22s ease;width:38px}.cursor-ring.hover .cursor-ring-inner{border-color:rgba(var(--text-rgb),.35);height:62px;opacity:1;width:62px}@media (pointer:coarse){.cursor-dot,.cursor-ring{display:none}}@media (max-width:768px){main>div{padding:7rem 1.5rem 4rem}}.grain-overlay{height:100%;inset:0;pointer-events:none;position:fixed;width:100%;z-index:10}.grain-overlay:after{background:#0000;content:"";filter:url(#grainFilter);inset:0;mix-blend-mode:screen;opacity:.055;position:absolute}[data-mode=light] .grain-overlay:after{mix-blend-mode:multiply;opacity:.04}.navbar{border-bottom:1px solid #0000;left:0;padding:1.75rem 4rem;position:fixed;top:0;transition:padding .4s ease,background .4s ease,border-color .4s ease;width:100%;z-index:1000}.navbar.scrolled{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(var(--bg-rgb),.82);border-bottom-color:var(--border);padding:1.1rem 4rem}.nav-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1160px}.nav-logo{color:var(--text);font-family:var(--font-display);font-size:2rem;letter-spacing:.06em;line-height:1}.nav-logo-period{color:var(--accent)}.nav-links{display:flex;gap:2.5rem}.nav-links li a{color:var(--text-dim);font-family:var(--font-body);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;transition:color .2s ease}.nav-links li a.active,.nav-links li a:hover{color:var(--text)}.nav-links li a.active:before{color:var(--accent);content:"—\00a0"}.nav-mode-btn{background:none;border:1px solid var(--border);border-radius:2px;color:var(--text-dim);font-family:var(--font-body);font-size:.62rem;letter-spacing:.16em;padding:.4rem .85rem;transition:color .2s ease,border-color .2s ease}.nav-mode-btn:hover{border-color:var(--text-dim);color:var(--text)}@media (max-width:768px){.navbar{padding:1.5rem}.navbar.scrolled{padding:1rem 1.5rem}.nav-links{display:none}}.hero-section{display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:7rem 4rem 5rem;position:relative;width:100%}.hero-eyebrow{align-items:center;color:var(--text-dim);display:flex;font-family:var(--font-body);font-size:.7rem;gap:.75rem;letter-spacing:.18em;margin-bottom:2.5rem}.hero-status-dot{animation:dot-pulse 2.4s ease-in-out infinite;background:#4ade80;border-radius:50%;flex-shrink:0;height:6px;width:6px}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.hero-name-block{display:flex;flex-direction:column;line-height:.84;margin-bottom:4rem}.hero-name-first{color:var(--text);font-size:clamp(4.5rem,13vw,13.5rem)}.hero-name-first,.hero-name-last{display:block;font-family:var(--font-display);letter-spacing:.03em}.hero-name-last{-webkit-text-stroke:2px var(--text);color:#0000;font-size:clamp(7rem,27vw,27rem);margin-right:-1.5vw;text-align:right;transition:-webkit-text-stroke-color .5s ease}.hero-bottom{align-items:flex-end;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.hero-role{display:flex;flex-direction:column;gap:.35rem}.hero-role-label{color:var(--accent);font-family:var(--font-body);font-size:.62rem;letter-spacing:.22em}.hero-role-value{color:var(--text-dim);font-family:var(--font-body);font-size:.9rem;letter-spacing:.02em}.hero-actions{align-items:center;display:flex;gap:1.25rem}.hero-btn-primary{align-items:center;background:var(--text);border-radius:2px;color:var(--bg);display:inline-flex;font-family:var(--font-body);font-size:.72rem;gap:.5rem;letter-spacing:.14em;padding:.85rem 1.75rem;text-transform:uppercase;transition:background .2s ease}.hero-btn-primary:hover{background:var(--accent)}.hero-btn-secondary{border-bottom:1px solid #0000;color:var(--text-dim);font-family:var(--font-body);font-size:.72rem;letter-spacing:.14em;padding-bottom:2px;text-transform:uppercase;transition:color .2s ease,border-bottom-color .2s ease}.hero-btn-secondary:hover{border-bottom-color:var(--accent);color:var(--text)}.hero-scroll-hint{align-items:center;bottom:2.5rem;color:var(--text-dim);display:flex;flex-direction:column;font-family:var(--font-body);font-size:.58rem;gap:.6rem;letter-spacing:.28em;position:absolute;right:4rem;text-transform:uppercase;writing-mode:vertical-lr}.hero-scroll-line{animation:scroll-grow 1.9s ease-in-out infinite;background:linear-gradient(to bottom,#0000,var(--accent));height:3.5rem;width:1px}@keyframes scroll-grow{0%{opacity:0;transform:scaleY(0);transform-origin:top}20%{opacity:1}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{opacity:0;transform:scaleY(0);transform-origin:bottom}}@media (max-width:900px){.hero-section{padding:6rem 2rem 4rem}.hero-name-last{-webkit-text-stroke-width:1.5px;margin-right:-2vw}.hero-bottom{align-items:flex-start;flex-direction:column;gap:1.5rem}.hero-scroll-hint{display:none}}@media (max-width:480px){.hero-name-first{font-size:clamp(3.5rem,18vw,6rem)}.hero-name-last{-webkit-text-stroke-width:1px;font-size:clamp(5.5rem,32vw,11rem)}}.skills-categories-container{display:flex;flex-direction:column}.skill-category{grid-gap:1.5rem;align-items:start;border-top:1px solid var(--border);display:grid;gap:1.5rem;grid-template-columns:155px 1fr;padding:2rem 0}.skill-category-title{color:var(--accent);font-family:var(--font-body);font-size:.65rem;letter-spacing:.18em;margin-bottom:0;padding-top:.2rem;text-transform:uppercase}.skills-grid{display:flex;flex-wrap:wrap;gap:.2rem 1.5rem}.skill-pill{background:none;border:none;border-radius:0;color:var(--text-dim);font-family:var(--font-body);font-size:.82rem;letter-spacing:.02em;padding:.15rem 0;transition:color .2s ease}.skill-pill:hover{background:none;color:var(--text);transform:none}@media (max-width:640px){.skill-category{gap:.75rem;grid-template-columns:1fr}}.projects-grid{counter-reset:project-num;margin-top:0}.project-card,.projects-grid{display:flex;flex-direction:column}.project-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;border-radius:0;border-top:1px solid var(--border);counter-increment:project-num;gap:.75rem;padding:2.5rem 0;transition:border-top-color .25s ease}.project-card:before{color:var(--accent);content:counter(project-num,decimal-leading-zero);font-family:var(--font-body);font-size:.65rem;letter-spacing:.14em}.project-card:hover{border-top-color:var(--accent);box-shadow:none;transform:none}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:0}.project-title{color:var(--text);font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);letter-spacing:.03em;line-height:1;transition:color .2s ease}.project-card:hover .project-title{color:var(--accent)}.project-links{display:flex;flex-shrink:0;gap:1rem;padding-top:.4rem}.project-links a{color:var(--text-dim);transition:color .2s ease}.project-links a:hover{color:var(--text)}.project-description{flex-grow:1;font-size:.83rem;line-height:1.75;margin-bottom:.25rem;max-width:640px}.project-description,.project-tech{color:var(--text-dim);font-family:var(--font-body)}.project-tech{display:flex;flex-wrap:wrap;font-size:.72rem;gap:0 1.5rem;letter-spacing:.06em}.project-tech span{opacity:.7}.project-tech span:before{color:var(--accent);content:"/ ";opacity:.5}.experience-timeline{display:flex;flex-direction:column;margin-top:0;padding-left:0;position:static}.experience-timeline:before{display:none}.timeline-item{border-top:1px solid var(--border);padding:2.5rem 0;position:relative;transition:border-top-color .25s ease}.timeline-item:hover{border-top-color:var(--accent)}.timeline-dot{display:none}.timeline-content{padding-bottom:0}.timeline-header{align-items:flex-start;display:flex;flex-direction:column;gap:.2rem;margin-bottom:.4rem}.period{color:var(--accent);font-family:var(--font-body);font-size:.65rem;letter-spacing:.18em;order:-1}.role-title{color:var(--text);font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,2.75rem);letter-spacing:.03em;line-height:1;margin:0;order:0}.company-name{font-size:.78rem;font-weight:400;letter-spacing:.06em;margin:.5rem 0 1rem}.company-name,.role-description{color:var(--text-dim);font-family:var(--font-body)}.role-description{font-size:.83rem;line-height:1.75;margin:0;max-width:600px}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--total-scale-factor));min-width:calc(180px*var(--total-scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--total-scale-factor));box-shadow:0 calc(2px*var(--total-scale-factor)) calc(5px*var(--total-scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--total-scale-factor));max-width:calc(180px*var(--total-scale-factor));padding:calc(6px*var(--total-scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--total-scale-factor));padding-top:calc(2px*var(--total-scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--total-scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;text-align:left;text-align:initial;z-index:2}.textLayer,.textLayer :is(span,br){position:absolute;transform-origin:0 0}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{display:none;height:0;left:0;position:absolute;top:0;width:0}.resume-content{display:flex;justify-content:flex-start;margin-top:0}.resume-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:1px solid var(--border);border-radius:2px;display:flex;flex-direction:column;gap:2rem;max-width:900px;padding:2.5rem;transition:border-color .3s ease;width:100%}.resume-card:hover{border-color:var(--text-dim);box-shadow:none;transform:none}.resume-header{align-items:center;display:flex;gap:1.25rem}.resume-icon{color:var(--accent)}.resume-title{color:var(--text);font-family:var(--font-display);font-size:2rem;letter-spacing:.03em;line-height:1;margin:0 0 .2rem}.resume-subtitle{color:var(--text-dim);font-family:var(--font-body);font-size:.78rem;letter-spacing:.06em;margin:0}.resume-actions{display:flex;flex-wrap:wrap;gap:1rem}.resume-btn{align-items:center;border-radius:2px;display:inline-flex;flex:1 1;font-family:var(--font-body);font-size:.72rem;gap:.5rem;justify-content:center;letter-spacing:.1em;min-width:140px;padding:.75rem 1.5rem;text-decoration:none;text-transform:uppercase;transition:all .2s ease}.primary-btn{background:var(--text);border:1px solid var(--text);color:var(--bg)}.primary-btn:hover{background:var(--accent);border-color:var(--accent)}.secondary-btn{background:#0000;border:1px solid var(--border);color:var(--text-dim)}.secondary-btn:hover{border-color:var(--text-dim);color:var(--text)}.pdf-viewer-container{background:#fff;border:1px solid var(--border);border-radius:2px;margin-top:.5rem;overflow:hidden}.pdf-document,.pdf-viewer-container{display:flex;justify-content:center;width:100%}.pdf-loading{color:var(--text-dim);font-family:var(--font-body);font-size:.85rem;padding:3rem;text-align:center}.pdf-page canvas{height:auto!important;max-width:100%!important}@media (max-width:768px){.resume-card{padding:1.5rem}.resume-actions{flex-direction:column}.resume-btn{width:100%}}.email-card{align-items:center;background:#0000;border:1px solid var(--border);border-radius:2px;display:inline-flex;gap:.75rem;margin-bottom:2.5rem;padding:.6rem 1rem;transition:border-color .2s ease}.email-card:hover{border-color:var(--text-dim)}.email-card-address{color:var(--text);font-family:var(--font-body);font-size:.82rem;letter-spacing:.04em;text-decoration:none}.email-copy-btn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:2px;color:var(--text-dim);display:inline-flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.email-copy-btn:hover{border-color:var(--text-dim);color:var(--text)}.email-copy-btn:has(svg.lucide-check){border-color:#4ade80;color:#4ade80}.contact-form{display:flex;flex-direction:column;gap:0;margin-bottom:3.5rem;max-width:520px;width:100%}.form-group{border-bottom:1px solid var(--border);transition:border-bottom-color .2s ease}.form-group:focus-within{border-bottom-color:var(--accent)}.form-input,.form-textarea{background:#0000;border:none;color:var(--text);font-family:var(--font-body);font-size:.85rem;letter-spacing:.04em;outline:none;padding:1rem 0;width:100%}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-dim);font-family:var(--font-body);font-size:.82rem;letter-spacing:.06em}.form-textarea{min-height:110px;resize:vertical}.contact-form .btn-primary{align-self:flex-start;margin-top:2rem}.contact-form .btn-primary:disabled{opacity:.4}.form-message{font-family:var(--font-body);font-size:.78rem;letter-spacing:.04em;margin-top:1rem}.form-message.success{color:#4ade80}.form-message.error{color:#f87171}.social-links{display:flex;gap:1.5rem;margin-bottom:4rem}.social-links a{color:var(--text-dim);transition:color .2s ease,transform .2s ease}.social-links a:hover{color:var(--text);transform:translateY(-2px)}.footer{border-top:1px solid var(--border);margin-top:auto;padding-top:2rem;text-align:center}.footer p{color:var(--text-dim);font-family:var(--font-body);font-size:.72rem;letter-spacing:.1em}.space-bg-canvas{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-2}[data-mode=light] .space-bg-canvas{opacity:.35}
/*# sourceMappingURL=main.05d9c851.css.map*/