body{-moz-osx-font-smoothing:grayscale;background-color:#f3efe6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;margin:0}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--paper:#f3efe6;--paper-2:#ece7db;--paper-3:#e4decf;--ink:#17150f;--ink-soft:#423f34;--muted:#736f61;--line:#17150f29;--line-strong:#17150f52;--accent:#e5391a;--accent-deep:#c22f12;--font-display:"Space Grotesk","Inter",sans-serif;--font-serif:"Instrument Serif",Georgia,serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--maxw:1220px;--gut:2.5rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#f3efe6;background:var(--paper);color:#17150f;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-body);line-height:1.6}.App{background-image:radial-gradient(rgba(23,21,15,.028) 1px,#0000 0);background-size:4px 4px;counter-reset:sec;min-height:100vh;overflow-x:hidden;position:relative}::selection{background:#e5391a;background:var(--accent);color:#f3efe6;color:var(--paper)}a{color:inherit}section{border-top:1px solid #17150f29;border-top:1px solid var(--line);padding:6.5rem 0;position:relative}section:first-of-type{border-top:none}.container{margin:0 auto;max-width:1220px;max-width:var(--maxw);padding:0 2.5rem;padding:0 var(--gut)}.section-header{border-top:2px solid #17150f;border-top:2px solid var(--ink);counter-increment:sec;margin-bottom:3.5rem;padding-top:.5rem;text-align:left}.section-header h2{color:#17150f;color:var(--ink);font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.25rem);font-weight:700;letter-spacing:-.03em;line-height:.98;margin-top:1rem;text-transform:uppercase}.section-header h2:after{display:none}.section-header p{color:#736f61;color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.14em;margin:0;max-width:none;text-transform:uppercase}.section-header p:before{color:#e5391a;color:var(--accent);content:"(" counter(sec,decimal-leading-zero) ")";font-weight:500;margin-right:.8rem}.btn{align-items:center;border:1.5px solid #17150f;border:1.5px solid var(--ink);border-radius:0;cursor:pointer;display:inline-flex;font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.82rem;font-weight:500;gap:.6rem;letter-spacing:.06em;padding:.9rem 1.5rem;text-decoration:none;text-transform:uppercase;transition:background .18s ease,color .18s ease,transform .18s ease}.btn-primary{background:#17150f;background:var(--ink)}.btn-primary,.btn-primary:hover{color:#f3efe6;color:var(--paper)}.btn-primary:hover{background:#e5391a;background:var(--accent);border-color:#e5391a;border-color:var(--accent)}.btn-secondary{background:#0000;color:#17150f;color:var(--ink)}.btn-secondary:hover{background:#17150f;background:var(--ink);color:#f3efe6;color:var(--paper)}.marquee{border-bottom:1px solid #17150f29;border-bottom:1px solid var(--line);border-top:1px solid #17150f29;border-top:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,#0000,#000 6%,#000 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6%,#000 94%,#0000);overflow:hidden;padding:.9rem 0;white-space:nowrap}.marquee-track{animation:marquee 30s linear infinite;display:inline-flex;gap:2.5rem}.marquee-track span{align-items:center;color:#17150f;color:var(--ink);display:inline-flex;font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:1.1rem;font-weight:600;gap:2.5rem;letter-spacing:.02em;text-transform:uppercase}.marquee-track span:after{color:#e5391a;color:var(--accent);content:"✳"}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.text-center{text-align:center}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#f3efe6;background:var(--paper)}::-webkit-scrollbar-thumb{background:#17150f;background:var(--ink);border:3px solid #f3efe6;border:3px solid var(--paper)}:focus-visible{outline:2px solid #e5391a;outline:2px solid var(--accent);outline-offset:3px}@media (max-width:768px){:root{--gut:1.35rem}section{padding:4rem 0}.section-header{margin-bottom:2.5rem}}.header{border-bottom:1px solid #0000;left:0;padding:1.1rem 0;position:fixed;right:0;top:0;transition:background .3s ease,border-color .3s ease,padding .3s ease;z-index:1000}.header.scrolled{backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);background:#f3efe6d9;border-bottom:1px solid var(--ink);padding:.7rem 0}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--maxw);padding:0 var(--gut)}.logo a{align-items:baseline;color:var(--ink);cursor:pointer;display:inline-flex;font-family:var(--font-display);font-size:1.05rem;font-weight:700;gap:.4rem;letter-spacing:.02em;text-decoration:none;text-transform:uppercase}.logo a:before{color:var(--accent);content:"●";font-size:.7rem}.nav{align-items:center;display:flex;gap:.35rem}.nav-link{color:var(--ink-soft);cursor:pointer;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.05em;padding:.4rem .7rem;position:relative;text-decoration:none;text-transform:uppercase;transition:color .2s ease}.nav-link:before{background:var(--accent);bottom:.15rem;content:"";height:1.5px;left:.7rem;position:absolute;right:.7rem;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-link:hover{color:var(--ink)}.nav-link:hover:before{transform:scaleX(1)}.nav-link.active{color:var(--ink);font-weight:500}.nav-link.active:before{transform:scaleX(1)}.mobile-menu-btn{align-items:center;background:#0000;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;display:none;font-size:1.3rem;height:42px;justify-content:center;width:42px}@media (max-width:880px){.mobile-menu-btn{display:inline-flex}.nav{align-items:stretch;background:var(--paper);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--ink);flex-direction:column;gap:0;left:var(--gut);opacity:0;padding:.5rem;pointer-events:none;position:fixed;right:var(--gut);top:64px;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}.nav.nav-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-link{border-bottom:1px solid var(--line);font-size:.9rem;padding:.85rem 1rem}.nav-link:last-child{border-bottom:none}.nav-link:before{display:none}}.hero{border-top:none;flex-direction:column;min-height:100vh;padding-top:6rem}.hero,.hero-inner{display:flex;justify-content:center}.hero-inner{flex:1 1;flex-direction:column;padding-bottom:3rem;padding-top:3rem}.hero-eyebrow{align-items:center;border-bottom:1px solid var(--line);color:var(--ink-soft);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.8rem;gap:.7rem;letter-spacing:.08em;padding-bottom:1.75rem;text-transform:uppercase}.hero-eyebrow .sep{color:var(--accent)}.hero-eyebrow .avail{align-items:center;color:var(--ink);display:inline-flex;gap:.5rem;margin-left:auto}.hero-eyebrow .avail i{animation:blink 1.8s ease-in-out infinite;background:var(--accent);border-radius:50%;height:7px;width:7px}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.hero-head{align-items:flex-end;display:flex;gap:2.5rem;margin:2.5rem 0 2.25rem}.hero-title{color:var(--ink);flex:1 1;font-family:var(--font-display);font-size:clamp(3rem,11vw,8.5rem);font-weight:700;letter-spacing:-.045em;line-height:.86;min-width:0;text-transform:uppercase}.hero-title .period{color:var(--accent)}.hero-portrait{flex-shrink:0;margin:0;width:clamp(190px,24vw,320px)}.hero-portrait img{aspect-ratio:1/1;border:1.5px solid var(--ink);display:block;filter:grayscale(1) contrast(1.02);object-fit:cover;transition:filter .4s ease;width:100%}.hero-portrait:hover img{filter:grayscale(0) contrast(1)}.hero-portrait figcaption{color:var(--muted);display:flex;font-family:var(--font-mono);font-size:.68rem;justify-content:space-between;letter-spacing:.1em;margin-top:.6rem;text-transform:uppercase}.hero-portrait figcaption:after{color:var(--accent);content:"↗"}.hero-grid{grid-gap:3rem;border-top:1px solid var(--line);display:grid;gap:3rem;grid-template-columns:1.1fr 1fr;padding-top:2.25rem}.hero-statement{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.35rem,2.6vw,2rem);font-weight:500;letter-spacing:-.01em;line-height:1.2;max-width:18ch}.hero-statement em{color:var(--accent);font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0}.hero-facts{align-self:end;list-style:none}.hero-facts li{grid-gap:1rem;border-top:1px solid var(--line);color:var(--ink-soft);display:grid;font-size:.95rem;gap:1rem;grid-template-columns:5.5rem 1fr;padding:.85rem 0}.hero-facts li:last-child{border-bottom:1px solid var(--line)}.hero-facts li span{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;padding-top:.15rem;text-transform:uppercase}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.75rem}.hero-socials{display:flex;gap:.4rem;margin-left:auto}.hero-socials a{border:1.5px solid var(--ink);color:var(--ink);display:grid;font-size:1.1rem;height:46px;place-items:center;transition:background .18s ease,color .18s ease;width:46px}.hero-socials a:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}@media (max-width:820px){.hero-head{align-items:flex-start;flex-direction:column-reverse;gap:1.5rem;margin:1.75rem 0}.hero-portrait{width:clamp(150px,42vw,220px)}.hero-title{font-size:clamp(3rem,18vw,6rem)}.hero-grid{gap:1.75rem;grid-template-columns:1fr}.hero-statement{max-width:none}.hero-eyebrow .avail,.hero-socials{margin-left:0;width:100%}.hero-socials{margin-top:.5rem}}.about-content{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1.05fr .95fr}.about-skills h3,.about-text h3{color:var(--muted);font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.14em;margin-bottom:1.5rem;text-transform:uppercase}.about-text p{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:500;letter-spacing:-.01em;line-height:1.4;margin-bottom:1.25rem}.about-text p:last-of-type{color:var(--ink-soft);font-family:var(--font-body);font-size:1.02rem;font-weight:400;line-height:1.65}.about-stats{border-top:2px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr);margin-top:2.5rem}.about-stats .stat{border-right:1px solid var(--line);padding:1.25rem 1rem 1.25rem 0}.about-stats .stat:last-child{border-right:none}.about-stats .stat-number{color:var(--ink);display:block;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1}.about-stats .stat-label{color:var(--muted);display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;margin-top:.35rem;text-transform:uppercase}.about-skills .skills-grid{grid-gap:0;border:1.5px solid var(--ink);display:grid;gap:0;grid-template-columns:1fr 1fr}.about-skills .skill-card{background:#0000;border-bottom:1.5px solid var(--ink);border-right:1.5px solid var(--ink);padding:1.75rem;transition:background .2s ease,color .2s ease}.about-skills .skill-card:nth-child(2n){border-right:none}.about-skills .skill-card:nth-last-child(-n+2){border-bottom:none}.about-skills .skill-card:hover{background:var(--ink)}.about-skills .skill-card:hover h4,.about-skills .skill-card:hover p{color:var(--paper)}.about-skills .skill-card:hover .skill-icon{color:var(--accent)}.about-skills .skill-card .skill-icon{color:var(--accent);display:block;font-size:1.3rem;margin-bottom:1.1rem}.about-skills .skill-card h4{color:var(--ink);font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:.4rem;transition:color .2s ease}.about-skills .skill-card p{color:var(--ink-soft);font-size:.9rem;transition:color .2s ease}@media (max-width:860px){.about-content{gap:2.5rem;grid-template-columns:1fr}}@media (max-width:480px){.about-stats{grid-template-columns:1fr}.about-stats .stat{border-bottom:1px solid var(--line);border-right:none}.about-skills .skills-grid{grid-template-columns:1fr}.about-skills .skill-card{border-right:none}.about-skills .skill-card:nth-last-child(-n+2){border-bottom:1.5px solid var(--ink)}.about-skills .skill-card:last-child{border-bottom:none}}.skills-content{border-top:2px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr)}.skills-content .skill-category{border-right:1px solid var(--line);padding:2rem 1.75rem 2rem 0}.skills-content .skill-category:last-child{border-right:none;padding-right:0}.skills-content .skill-category>h3{align-items:baseline;color:var(--ink);display:flex;font-family:var(--font-display);font-size:1.15rem;font-weight:600;gap:.75rem;margin-bottom:1.5rem}.skills-content .cat-index{color:var(--accent);font-family:var(--font-mono);font-size:.8rem;font-weight:500}.skill-list{list-style:none}.skill-list li{border-bottom:1px solid var(--line);color:var(--ink);cursor:default;font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:500;letter-spacing:-.02em;padding:.5rem 0;transition:color .18s ease,padding-left .18s ease}.skill-list li:hover{color:var(--accent);padding-left:.6rem}.additional-skills{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:2rem}.additional-skills>h3{color:var(--muted);font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.14em;margin-bottom:1.5rem;text-transform:uppercase}.skills-tags{display:flex;flex-wrap:wrap;gap:.6rem}.skills-tags .skill-tag{border:1px solid var(--line-strong);border-radius:0;color:var(--ink);cursor:default;font-family:var(--font-mono);font-size:.8rem;padding:.45rem .9rem;transition:background .18s ease,color .18s ease,border-color .18s ease}.skills-tags .skill-tag:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}@media (max-width:820px){.skills-content{grid-template-columns:1fr}.skills-content .skill-category{border-bottom:1px solid var(--line);border-right:none;padding:1.5rem 0}}.experience-timeline{border-top:2px solid var(--ink)}.timeline-item{border-bottom:1px solid var(--line);padding:2.25rem 0}.timeline-content{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:1fr}.experience-header h3{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:700;letter-spacing:-.03em;line-height:1;text-transform:uppercase}.experience-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.experience .meta-item{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;gap:.45rem;letter-spacing:.04em;text-transform:uppercase}.experience .meta-item:first-child{color:var(--accent)}.experience .meta-icon{font-size:.72rem}.experience-description ul{grid-gap:.6rem;display:grid;gap:.6rem;list-style:none;max-width:68ch}.experience-description li{color:var(--ink-soft);font-size:.98rem;line-height:1.6;padding-left:1.4rem;position:relative}.experience-description li:before{color:var(--accent);content:"→";font-size:.9rem;left:0;position:absolute;top:0}.experience-technologies{display:flex;flex-wrap:wrap;gap:.5rem}.experience .tech-tag{border:1px solid var(--line-strong);color:var(--ink);font-family:var(--font-mono);font-size:.72rem;padding:.3rem .7rem}.experience-summary{background:var(--ink);color:var(--paper);margin-top:4rem;padding:3rem 2.5rem}.experience-summary>h3{color:var(--accent);font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.14em;margin-bottom:2rem;text-transform:uppercase}.achievements-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(2,1fr)}.achievement-item{border-right:1px solid #f3efe629;border-top:1px solid #f3efe629;padding:1.75rem}.achievement-item:nth-child(2n){border-right:none}.achievement-item:first-child,.achievement-item:nth-child(2){border-top:none;padding-top:0}.achievement-item:nth-child(odd){padding-left:0}.achievement-item h4{color:var(--paper);font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin-bottom:.5rem}.achievement-item p{color:#f3efe6b3;font-size:.92rem;line-height:1.55}@media (max-width:640px){.achievements-grid{grid-template-columns:1fr}.achievement-item{border-right:none;padding:1.25rem 0}.achievement-item:nth-child(2){border-top:1px solid #f3efe629;padding-top:1.25rem}.experience-summary{padding:2rem 1.5rem}}.projects-grid{grid-gap:2.5rem 2rem;counter-reset:proj;display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(2,1fr)}.project-card{background:var(--paper);border:1.5px solid var(--ink);counter-increment:proj;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{box-shadow:8px 8px 0 var(--ink);transform:translate(-4px,-4px)}.project-image{aspect-ratio:16/10;background:var(--paper-2);border-bottom:1.5px solid var(--ink);overflow:hidden;position:relative}.project-image img{filter:saturate(1.02);height:100%;object-fit:cover;object-position:top center;transition:transform .5s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.04)}.project-overlay{align-items:flex-end;display:flex;inset:0;justify-content:flex-end;opacity:0;padding:1rem;position:absolute;transition:opacity .25s ease}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:.6rem}.project-link{background:var(--ink);border:1.5px solid var(--ink);color:var(--paper);display:grid;font-size:1.05rem;height:44px;place-items:center;transition:background .18s ease,color .18s ease;width:44px}.project-link:hover{background:var(--accent);border-color:var(--accent)}.project-category{align-items:center;background:var(--paper);border:1.5px solid var(--ink);color:var(--ink);display:inline-flex;font-family:var(--font-mono);font-size:.72rem;gap:.4rem;left:.9rem;letter-spacing:.04em;padding:.35rem .65rem;position:absolute;text-transform:uppercase;top:.9rem}.category-icon{font-size:.85rem}.project-content{display:flex;flex:1 1;flex-direction:column;padding:1.75rem;position:relative}.project-content h3{color:var(--ink);font-family:var(--font-display);font-size:1.7rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem;text-transform:uppercase}.project-content h3:before{color:var(--accent);content:counter(proj,decimal-leading-zero);display:block;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.1em;margin-bottom:.6rem}.project-content>p{color:var(--ink-soft);flex:1 1;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.45rem}.projects .tech-tag{border:1px solid var(--line-strong);color:var(--muted);font-family:var(--font-mono);font-size:.7rem;padding:.28rem .6rem}.projects-cta{align-items:flex-start;border:1.5px solid var(--ink);display:flex;flex-direction:column;gap:.6rem;margin-top:3rem;padding:3rem 2.5rem}.projects-cta h3{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-.02em;text-transform:uppercase}.projects-cta p{color:var(--ink-soft);margin-bottom:1.25rem}@media (max-width:720px){.projects-grid{grid-template-columns:1fr}}.education-content{margin-bottom:3.5rem}.education-main>h3,.education-skills>h3{color:var(--muted);font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.14em;margin-bottom:1.5rem;text-transform:uppercase}.education-item{border-top:2px solid var(--ink);padding-top:2rem}.education-header{align-items:flex-start;display:flex;gap:1.5rem}.education-icon{background:var(--ink);color:var(--paper);display:grid;flex-shrink:0;font-size:1.4rem;height:52px;place-items:center;width:52px}.education-info{flex:1 1}.education-info h4{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin-bottom:.75rem;text-transform:uppercase}.education-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem}.education .meta-item{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;gap:.45rem;letter-spacing:.04em;text-transform:uppercase}.education .meta-icon{font-size:.72rem}.education-gpa{flex-shrink:0;text-align:right}.gpa-label{color:var(--muted);display:block;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.gpa-value{color:var(--accent);display:block;font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1}.education-description{color:var(--ink-soft);font-size:1rem;line-height:1.65;margin-top:1.5rem;max-width:70ch}.academic-skills{border-top:2px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr)}.academic-skills .skill-category{border-right:1px solid var(--line);padding:1.75rem 1.5rem 0 0}.academic-skills .skill-category:last-child{border-right:none}.academic-skills .skill-category h4{color:var(--ink);font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin-bottom:1rem}.academic-skills .skill-items{display:flex;flex-direction:column}.academic-skills .skill-items span{border-top:1px solid var(--line);color:var(--ink-soft);font-size:.92rem;padding:.5rem 0}.academic-skills .skill-items span:first-child{border-top:none}@media (max-width:720px){.education-header{flex-wrap:wrap}.education-gpa{text-align:left}.academic-skills{grid-template-columns:1fr}.academic-skills .skill-category{border-bottom:1px solid var(--line);border-right:none;padding:1.25rem 0}}.contact-content{grid-gap:3.5rem;align-items:start;display:grid;gap:3.5rem;grid-template-columns:1fr 1.1fr}.contact-form>h3,.contact-info>h3{color:var(--muted);font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.14em;margin-bottom:1.25rem;text-transform:uppercase}.contact-info>p{color:var(--ink);font-family:var(--font-display);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:500;letter-spacing:-.01em;line-height:1.35;margin-bottom:2.5rem}.contact-details{border-top:2px solid var(--ink);margin-bottom:2.5rem}.contact-item{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:1rem;padding:1.1rem 0}.contact-icon{background:var(--ink);color:var(--paper);display:grid;flex-shrink:0;font-size:1rem;height:40px;place-items:center;width:40px}.contact-text h4{color:var(--muted);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;margin-bottom:.15rem;text-transform:uppercase}.contact-text a,.contact-text span{color:var(--ink);font-size:1rem;text-decoration:none;transition:color .18s ease}.contact-text a:hover{color:var(--accent)}.contact .social-links h4{color:var(--muted);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;margin-bottom:.85rem;text-transform:uppercase}.social-icons{display:flex;gap:.5rem}.social-icon{border:1.5px solid var(--ink);color:var(--ink);display:grid;font-size:1.1rem;height:46px;place-items:center;transition:background .18s ease,color .18s ease;width:46px}.social-icon:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.contact-form{border:1.5px solid var(--ink);padding:2rem}.form-group{margin-bottom:1rem}.form-group input,.form-group textarea{background:var(--paper);border:1.5px solid var(--line-strong);border-radius:0;color:var(--ink);font-family:var(--font-body);font-size:.95rem;padding:.9rem 1rem;resize:vertical;transition:border-color .18s ease;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted);font-family:var(--font-mono);font-size:.82rem;letter-spacing:.03em;text-transform:uppercase}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}.submit-btn{background:var(--ink);border:1.5px solid var(--ink);color:var(--paper);cursor:pointer;font-family:var(--font-mono);font-size:.82rem;font-weight:500;letter-spacing:.08em;padding:1rem 1.5rem;text-transform:uppercase;transition:background .18s ease;width:100%}.submit-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.submit-btn:disabled{cursor:not-allowed;opacity:.55}@media (max-width:820px){.contact-content{gap:2.5rem;grid-template-columns:1fr}}.footer{background:var(--ink);color:var(--paper);padding:3.5rem 0 2rem}.footer .container{margin:0 auto;max-width:var(--maxw);padding:0 var(--gut)}.footer-content{grid-gap:2.5rem;border-bottom:1px solid #f3efe62e;display:grid;gap:2.5rem;grid-template-columns:2fr 1fr 1fr;padding-bottom:2.5rem}.footer-section h3{color:var(--paper);font-family:var(--font-display);font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem;text-transform:uppercase}.footer-section>p{color:#f3efe699;font-size:.78rem;letter-spacing:.03em;max-width:340px}.footer-section h4,.footer-section>p{font-family:var(--font-mono);text-transform:uppercase}.footer-section h4{color:var(--accent);font-size:.7rem;font-weight:500;letter-spacing:.1em;margin-bottom:1rem}.footer-section ul{display:flex;flex-direction:column;gap:.55rem;list-style:none}.footer-section ul a{color:#f3efe6bf;font-size:.9rem;text-decoration:none;transition:color .18s ease}.footer-section ul a:hover{color:var(--accent)}.footer .social-links{display:flex;gap:.5rem}.footer .social-links a{border:1.5px solid #f3efe64d;color:var(--paper);display:grid;font-size:1rem;height:42px;place-items:center;transition:background .18s ease,color .18s ease,border-color .18s ease;width:42px}.footer .social-links a:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.footer-bottom{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding-top:1.75rem}.footer-bottom p{color:#f3efe68c;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.03em}.made-with{align-items:center;display:inline-flex;gap:.35rem}.heart-icon{color:var(--accent)}@media (max-width:720px){.footer-content{gap:2rem;grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}
/*# sourceMappingURL=main.6eafa329.css.map*/