@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap);:root{--color-cream-white:#faf7f2;--color-warm-ivory:#f6f2ea;--color-light-silver:#e5e6e8;--color-soft-fog:#c9ccd1;--color-slate-gray:#6a7078;--color-text-primary:#2f2f2f;--color-text-secondary:#4a4f55;--color-heading:#1c1c1e;--color-butter-yellow:#f1ddaa;--color-golden-cream:#eecf85;--color-honey-gold:#e4c16d;--color-fog-blue:#dde3ec;--color-blue-gray:#cbd3dd}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf7f2;background:var(--color-cream-white);color:#2f2f2f;color:var(--color-text-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:#faf7f2;background:var(--color-cream-white);color:#2f2f2f;color:var(--color-text-primary)}.container{margin:0 auto;max-width:1600px;padding:0 2rem}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:600;line-height:1.2}h1,h2,h3,h4,h5,h6{color:#1c1c1e;color:var(--color-heading)}h1,h2{font-weight:700}p{margin-bottom:1rem}a{color:inherit;text-decoration:none}.navigation .nav-link,.navigation .nav-logo,.navigation a,header a,header nav a,nav .nav-link,nav .nav-logo,nav a{color:#1c1c1e!important;opacity:1!important}.navigation .nav-link.active,.navigation .nav-link:hover,.navigation .nav-logo:hover,.navigation a:hover,header a:hover,header nav a:hover,nav .nav-link.active,nav .nav-link:hover,nav .nav-logo:hover,nav a:hover{color:#000!important;opacity:1!important}button{font-family:inherit}.btn{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;justify-content:center;letter-spacing:.16em;padding:.8rem 1.6rem;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .1s ease,box-shadow .1s ease}.btn-primary{background:#f1ddaa;background:var(--color-butter-yellow);font-weight:600}.btn-primary,.btn-primary:hover{color:#2f2f2f;color:var(--color-text-primary)}.btn-primary:hover{background:#eecf85;background:var(--color-golden-cream);transform:translateY(-1px)}.btn-secondary{background:#0000;border-color:#c9ccd1;border-color:var(--color-soft-fog)}.btn-secondary,.btn-secondary:hover{color:#2f2f2f;color:var(--color-text-primary)}.btn-secondary:hover{background:#f1ddaa;background:var(--color-butter-yellow);border-color:#eecf85;border-color:var(--color-golden-cream)}.page{padding-top:80px}.page-hero{padding:5.5rem 0 3.5rem}.page-kicker{color:#4a4f55;color:var(--color-text-secondary);font-size:.78rem;letter-spacing:.24em;margin-bottom:.75rem;text-transform:uppercase}.page-hero h1{font-size:2.6rem;margin-bottom:.75rem}.page-subtitle{color:#4a4f55;color:var(--color-text-secondary);font-size:.98rem;max-width:640px}.page-section{padding:2.5rem 0 4.5rem}@media (max-width:768px){.container{padding:0 1.2rem}.page-hero{padding:4.5rem 0 2.75rem}.page-hero h1{font-size:2.1rem}}.App{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1;padding-bottom:3rem}.navigation{background:var(--color-cream-white);border-bottom:1px solid #c9ccd14d;box-shadow:0 2px 12px #a7abb214;left:0;position:fixed;right:0;top:0;z-index:1000}.nav-container{align-items:center;display:flex;height:80px;justify-content:space-between;margin:0 auto;max-width:1600px;padding:0 2rem}.nav-logo{color:#1c1c1e!important;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;letter-spacing:2px;opacity:1!important;text-decoration:none;transition:color .3s ease}.nav-logo:hover{color:#000!important;opacity:1!important}.nav-menu{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.nav-link{color:#1c1c1e!important;font-family:Inter,sans-serif;font-size:.9rem;font-weight:400;letter-spacing:1px;opacity:1!important;position:relative;text-decoration:none;text-transform:uppercase;transition:color .3s ease}.nav-link.active,.nav-link:hover{color:#000!important;opacity:1!important}.nav-link:after{background:var(--color-golden-cream);bottom:-5px;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-link.active:after,.nav-link:hover:after{width:100%}.nav-toggle{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;padding:.5rem}.hamburger{background:var(--color-text-primary);height:2px;margin:3px 0;transition:.3s;width:25px}.hamburger.active:first-child{transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active:nth-child(2){opacity:0}.hamburger.active:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media (max-width:768px){.nav-container{padding:0 1rem}.nav-menu{align-items:center;background:var(--color-cream-white);border-bottom:1px solid #c9ccd14d;box-shadow:0 4px 16px #a7abb21a;flex-direction:column;gap:1.5rem;left:0;opacity:0;padding:2rem 0;position:fixed;right:0;top:80px;transform:translateY(-100%);transition:all .3s ease;visibility:hidden}.nav-menu.active{opacity:1;transform:translateY(0);visibility:visible}.nav-toggle{display:flex}.nav-logo{font-size:1.5rem}}.footer{background:var(--color-cream-white);border-top:1px solid var(--color-soft-fog);color:var(--color-text-primary);padding:2rem 0 2.5rem}.footer-content{padding:0}.footer-grid{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:2fr 1fr 1fr 1.5fr}.footer-brand h3{color:var(--color-heading);font-family:Playfair Display,serif;font-size:2rem;font-weight:700;letter-spacing:2px;margin:0 0 1.5rem}.footer-brand p{color:var(--color-text-primary);font-family:Inter,sans-serif;font-size:1rem;line-height:1.7;margin:0 0 2rem}.footer-brand .social-links{display:flex;gap:1rem}.footer-brand .social-link{align-items:center;background:#f1ddaa33;border:1px solid var(--color-butter-yellow);border-radius:50%;color:var(--color-text-primary);display:inline-block;display:flex;font-size:1.1rem;height:45px;justify-content:center;text-decoration:none;transition:all .3s ease;width:45px}.footer-brand .social-link:hover{background:var(--color-golden-cream);box-shadow:0 4px 12px #eecf854d;color:var(--color-text-primary);transform:translateY(-2px)}.footer-contact h4,.footer-links h4,.footer-newsletter h4{color:var(--color-heading);font-family:Playfair Display,serif;font-size:1.2rem;font-weight:600;margin:0 0 1.5rem}.footer-links ul{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:.75rem}.footer-links a{color:var(--color-text-primary);font-family:Inter,sans-serif;font-size:1rem;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--color-honey-gold)}.footer-contact p{margin:0 0 .5rem}.footer-contact p,.footer-newsletter p{color:var(--color-text-primary);font-family:Inter,sans-serif;font-size:1rem}.footer-newsletter p{line-height:1.6;margin:0 0 1.5rem}.newsletter-form{display:flex;gap:.5rem}.newsletter-form input{background:#f6f2ea99;border:none;border:1px solid var(--color-light-silver);border-radius:8px;color:var(--color-slate-gray);flex:1 1;font-family:Inter,sans-serif;font-size:.9rem;padding:.75rem 1rem;transition:background .3s ease,border-color .3s ease}.newsletter-form input::placeholder{color:var(--color-soft-fog)}.newsletter-form input:focus{background:var(--color-cream-white);border-color:var(--color-butter-yellow);outline:none}.newsletter-form button{background:linear-gradient(135deg,var(--color-golden-cream),var(--color-honey-gold));border:none;border-radius:8px;color:var(--color-cream-white);cursor:pointer;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;letter-spacing:1px;padding:.75rem 1.5rem;text-transform:uppercase;transition:background .3s ease,transform .2s ease}.newsletter-form button:hover{box-shadow:0 4px 12px #eecf854d;transform:translateY(-1px)}.footer-bottom{align-items:center;display:flex;justify-content:flex-end;padding:0}.footer-bottom p{color:var(--color-slate-gray);font-family:Inter,sans-serif;font-size:.75rem;margin:0}.footer-bottom-links{display:flex;gap:2rem}.footer-bottom-links a{color:var(--color-slate-gray);font-family:Inter,sans-serif;font-size:.9rem;text-decoration:none;transition:color .3s ease}.footer-bottom-links a:hover{color:var(--color-honey-gold)}@media (max-width:768px){.footer-grid{gap:2rem;grid-template-columns:1fr}.footer-brand h3{font-size:1.5rem}.newsletter-form{flex-direction:column}.footer-bottom{justify-content:center}}.home{padding-top:80px}.hero{align-items:center;color:var(--color-slate-gray);display:flex;justify-content:center;min-height:calc(100vh - 80px);overflow:hidden;position:relative;text-align:center}.hero-background{background:var(--color-cream-white);z-index:-1}.hero-background,.hero-background:before{bottom:0;left:0;position:absolute;right:0;top:0}.hero-background:before{content:"";opacity:0;pointer-events:none}.hero-content{max-width:800px;padding:0 1.5rem;z-index:1}.hero-kicker{color:var(--color-text-secondary);font-size:.8rem;letter-spacing:.24em;margin-bottom:.75rem;opacity:1;text-transform:uppercase}.hero-title{animation:fadeInUp 1s ease-out;color:var(--color-heading);font-family:Playfair Display,serif;font-size:3.4rem;font-weight:700;letter-spacing:.14em;margin:0 0 1rem}.hero-subtitle{animation:fadeInUp 1s ease-out .2s both;color:var(--color-text-secondary);font-family:Inter,sans-serif;font-size:1rem;font-weight:400;letter-spacing:.06em;margin:0 0 3rem;opacity:1}.hero-cta{animation:fadeInUp 1s ease-out .4s both;display:flex;gap:1.5rem;justify-content:center}.home-section{padding:4.5rem 0}.home-section-header{margin:0 auto 2.5rem;max-width:640px;text-align:center}.home-section-header h2{color:var(--color-slate-gray);font-size:2rem;margin-bottom:.75rem}.home-section-header p{color:var(--color-slate-gray);font-size:.95rem}.home-about{background:var(--color-cream-white)}.home-two-column{grid-gap:2.25rem;color:var(--color-slate-gray);display:grid;font-size:.98rem;gap:2.25rem;grid-template-columns:1.1fr 1fr;margin-bottom:1.75rem}.home-link{align-items:center;color:var(--color-honey-gold);display:inline-flex;font-size:.85rem;gap:.4rem;letter-spacing:.18em;text-transform:uppercase;transition:color .3s ease}.home-link:hover{color:var(--color-golden-cream)}.home-skills{background:var(--color-cream-white)}.skills-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.skill-card{background:var(--color-cream-white);border:1px solid var(--color-light-silver);border-radius:18px;box-shadow:0 4px 12px #a7abb214;padding:1.75rem 1.6rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.skill-card:hover{border-color:var(--color-butter-yellow);box-shadow:0 12px 32px #a7abb226;transform:translateY(-2px)}.skill-card h3{color:var(--color-heading);font-size:1.1rem;margin-bottom:.75rem}.skill-card p{font-size:.95rem;margin-bottom:.9rem}.skill-card p,.skill-card ul{color:var(--color-text-primary)}.skill-card ul{font-size:.86rem;list-style:none;margin:0;padding:0}.skill-card li{margin-bottom:.35rem}.home-projects{background:var(--color-cream-white)}.projects-preview-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1.75rem}.projects-preview-card{background:var(--color-cream-white);border:1px solid var(--color-light-silver);border-radius:18px;padding:1.6rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.projects-preview-card:hover{border-color:var(--color-butter-yellow);box-shadow:0 8px 24px #a7abb21f;transform:translateY(-2px)}.projects-preview-card h3{color:var(--color-heading);font-size:1.05rem;margin-bottom:.5rem}.projects-preview-card p{color:var(--color-text-primary);font-size:.9rem;margin-bottom:.75rem}.pill{align-items:center;background:#f1ddaa33;border:1px solid var(--color-butter-yellow);border-radius:999px;color:var(--color-honey-gold);display:inline-flex;font-size:.7rem;letter-spacing:.18em;margin-right:.4rem;padding:.2rem .7rem;text-transform:uppercase}.home-contact-cta{background:#0000;padding-bottom:4.75rem}.home-contact-card{background:var(--color-cream-white);border:2px solid var(--color-butter-yellow);border-radius:24px;box-shadow:0 8px 24px #f1ddaa33;margin:0 auto;max-width:720px;padding:2.5rem 2.25rem;text-align:center}.home-contact-card h2{color:var(--color-heading);font-size:2rem;margin-bottom:.75rem}.home-contact-card p{color:var(--color-text-primary);font-size:.95rem;margin-bottom:1.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.home-section{padding:3.5rem 0}.hero-title{font-size:2.25rem;letter-spacing:.12em}.hero-subtitle{font-size:.95rem}.hero-cta{align-items:center;flex-direction:column}.home-two-column{gap:1.25rem}.home-two-column,.projects-preview-grid,.skills-grid{grid-template-columns:1fr}.home-contact-card{padding:2.1rem 1.6rem}}.about-page{padding-top:80px}.about-section{padding:3rem 0 5rem}.about-inner{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:640px;text-align:center}.about-photo-wrap{margin-bottom:2.5rem}.about-photo{border-radius:50%;display:block;height:300px;object-fit:cover;width:300px}.about-main{width:100%}.about-main h2{font-size:1.1rem;font-weight:500;letter-spacing:.2em;margin-bottom:1.25rem;text-transform:uppercase}.about-main h2,.about-main p{color:var(--color-slate-gray)}.about-main p{font-size:1rem;line-height:1.75;margin-bottom:0;text-align:left}.about-main p+p{margin-top:1.5rem}.about-main h3{font-size:1.2rem;margin:2rem 0 .75rem}.about-list,.about-main h3{color:var(--color-slate-gray)}.about-list{font-size:.95rem;list-style:none;margin:0;padding:0;text-align:left}.about-list li{margin-bottom:.5rem;padding-left:1.4rem;position:relative}.about-list li:before{color:var(--color-honey-gold);content:"∘";left:0;position:absolute;top:.05rem}.about-card{background:var(--color-cream-white);border:1px solid var(--color-light-silver);border-radius:18px;box-shadow:0 4px 12px #a7abb214;padding:1.6rem 1.5rem}.about-card h3{color:var(--color-slate-gray);font-size:1.05rem;margin-bottom:.75rem}.about-card ul{color:var(--color-slate-gray);font-size:.9rem;list-style:none;margin:0;padding:0}.about-card li{margin-bottom:.4rem}@media (max-width:768px){.about-inner{padding:0 1rem}}.project-card{background:var(--color-cream-white);border:1px solid var(--color-light-silver);border-radius:12px;box-shadow:0 4px 12px #a7abb214;display:flex;flex-direction:column;gap:.75rem;padding:1.75rem 1.75rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-card:hover{border-color:var(--color-butter-yellow);box-shadow:0 12px 32px #a7abb226;transform:translateY(-4px)}.project-card-header{display:flex;flex-direction:column;gap:.25rem}.project-card-title{color:var(--color-heading);font-size:1.15rem;font-weight:600;letter-spacing:.02em}.project-card-subtitle{color:var(--color-text-secondary);font-size:.9rem}.project-card-description{color:var(--color-text-primary);font-size:.95rem;line-height:1.7}.project-card-audio-btn{align-self:flex-start;margin-top:auto;text-decoration:none}.project-card-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:.25rem 0 .5rem;padding:0}.project-card-tag{background:#f1ddaa33;border:1px solid var(--color-butter-yellow);border-radius:999px;font-size:.75rem;letter-spacing:.08em;padding:.2rem .6rem}.project-card-link,.project-card-tag{color:var(--color-honey-gold);text-transform:uppercase}.project-card-link{align-items:center;align-self:flex-start;display:inline-flex;font-size:.85rem;font-weight:500;gap:.4rem;letter-spacing:.12em;margin-top:.25rem;text-decoration:none;transition:color .2s ease}.project-card-link:after{content:"↗";font-size:.85rem}.project-card-link:hover{color:var(--color-golden-cream)}.project-card-thumb{align-self:flex-start;background:#111;border:none;border-radius:8px;cursor:pointer;display:block;margin-top:auto;overflow:hidden;padding:0;position:relative;width:100%}.project-card-thumb-img{display:block;height:auto;vertical-align:top;width:100%}.project-card-thumb-play{align-items:center;background:#000000b3;border-radius:50%;color:#fff;display:flex;font-size:18px;height:48px;justify-content:center;left:50%;padding-left:4px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:48px}.project-card-video-inline{align-self:flex-start;margin-top:auto;width:100%}.project-card-video-wrap{background:#000;border-radius:8px;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.project-card-video-iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}@media (max-width:640px){.project-card{padding:1.5rem 1.4rem 1.25rem}}.projects-page{padding-top:80px}.projects-page .page-hero{padding-bottom:1.25rem}.page-hero-works-inner{align-items:baseline;display:flex;gap:2rem;justify-content:space-between}.page-hero-works-tagline{color:var(--color-slate-gray);font-size:.85rem;letter-spacing:.14em;margin:0;text-transform:uppercase;white-space:nowrap}.page-hero-works-anchor{color:var(--color-slate-gray);text-decoration:none;transition:color .2s ease}.page-hero-works-anchor:hover{color:var(--color-honey-gold)}.page-hero-works-dot{pointer-events:none}@media (max-width:768px){.page-hero-works-inner{align-items:flex-start;flex-direction:column;gap:.5rem}}.works-section{padding:2.5rem 0 3rem}.works-section:first-of-type{padding-top:1rem}.works-section-title{color:var(--color-slate-gray);font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;letter-spacing:.12em;margin-bottom:1.5rem;scroll-margin-top:5.5rem;text-transform:uppercase}.works-section-empty{color:var(--color-soft-fog);font-size:.95rem;margin:0}.projects-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:900px){.projects-grid{grid-template-columns:1fr}}.contact-page{padding-top:80px}.contact-hero{background:var(--color-cream-white);color:var(--color-text-primary);padding:7rem 0 1.5rem;text-align:center}.contact-hero h1{color:var(--color-heading);font-family:Playfair Display,serif;font-size:3rem;font-weight:700;letter-spacing:.12em;margin:0 0 1rem}.contact-hero p{color:var(--color-text-secondary);font-family:Inter,sans-serif;font-size:1.2rem;font-weight:400;margin:0;opacity:1}.contact-hero-tagline{color:var(--color-slate-gray);font-size:1rem;margin-top:.5rem}.contact-content{background:var(--color-cream-white);padding:2rem 0 4rem}.contact-grid{margin:0 auto;max-width:520px}.contact-info h2{color:var(--color-slate-gray);font-family:Playfair Display,serif;font-size:2rem;font-weight:600;margin:0 0 1.5rem}.contact-info>p{color:var(--color-slate-gray);font-family:Inter,sans-serif;font-size:1rem;line-height:1.7;margin:0 0 2rem}.contact-details{margin-bottom:1.5rem}.contact-item{align-items:flex-start;display:flex;margin-bottom:1.2rem}.contact-icon{color:var(--color-honey-gold);font-size:1.3rem;margin-right:.9rem;margin-top:.1rem}.contact-text h3{color:var(--color-slate-gray);font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;margin:0 0 .4rem}.contact-text p{color:var(--color-slate-gray);font-family:Inter,sans-serif;font-size:.95rem;margin:0 0 .1rem}.contact-text a{color:var(--color-honey-gold);transition:color .2s ease}.contact-text a:hover{color:var(--color-golden-cream);text-decoration:underline}.contact-form-container h2{color:var(--color-slate-gray);font-family:Playfair Display,serif;font-size:1.8rem;font-weight:600;margin:0 0 1.5rem}.contact-form{background:var(--color-cream-white);border:1px solid var(--color-light-silver);border-radius:18px;box-shadow:0 4px 12px #a7abb214;padding:2.1rem}.form-group{margin-bottom:1.2rem}.form-group label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.16em;margin-bottom:.35rem;text-transform:uppercase}.form-group input,.form-group label,.form-group textarea{color:var(--color-text-primary);font-family:Inter,sans-serif}.form-group input,.form-group textarea{background:var(--color-cream-white);border:1px solid var(--color-light-silver);border-radius:12px;font-size:.95rem;padding:.8rem .9rem;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-soft-fog)}.form-group input:focus,.form-group textarea:focus{background:var(--color-cream-white);border-color:var(--color-butter-yellow);box-shadow:0 0 0 1px #f1ddaa66;outline:none}.form-group textarea{min-height:120px;resize:vertical}.submit-btn{background:var(--color-butter-yellow);border:none;border-radius:999px;color:var(--color-text-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.16em;padding:.9rem 1.8rem;text-transform:uppercase;transition:transform .15s ease,background-color .15s ease;width:100%}.submit-btn:hover:not(:disabled){background:var(--color-golden-cream);transform:translateY(-1px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7}.contact-form-status{border-radius:6px;font-size:.95rem;margin-bottom:1rem;padding:.75rem 1rem}.contact-form-status--error,.contact-form-status--success{color:var(--color-text-primary)}@media (max-width:768px){.contact-hero h1{font-size:2rem}.contact-hero p{font-size:1rem}.contact-grid{gap:2.5rem;grid-template-columns:1fr}.contact-form-container h2,.contact-info h2{font-size:2rem}.contact-form{padding:1.75rem 1.5rem}}
/*# sourceMappingURL=main.91eb5ef0.css.map*/