:root{--color-charcoal: #0E0F11;--color-slate: #2A2D31;--color-fog: #E6E7E8;--color-stone: #6B7683;--color-mist: #BFC5CC;--color-teal: #6e1e1b;--font-heading: "Playfair Display", serif;--font-body: "Inter", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--color-charcoal);background-color:var(--color-fog);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-charcoal)}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-bottom:var(--spacing-sm)}a{color:var(--color-teal);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}button{font-family:var(--font-body);cursor:pointer;border:none;transition:all .2s ease}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:600;border-radius:4px;text-decoration:none;transition:all .2s ease;border:none;cursor:pointer}.btn-primary{background-color:var(--color-teal);color:var(--color-fog)}.btn-primary:hover{background-color:#4d1412;opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px #6e1e1b4d}.btn-secondary{background-color:transparent;color:var(--color-slate);border:2px solid var(--color-slate)}.btn-secondary:hover{background-color:var(--color-slate);color:var(--color-fog);opacity:1}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.page-transition{opacity:0}.page-navigation{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);max-width:1000px;margin:0 auto}.page-navigation .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:var(--spacing-lg);background-color:#fff;border:1px solid var(--color-mist);border-radius:8px;text-align:center;min-height:180px;transition:all .2s ease}.page-navigation .nav-item:hover{border-color:var(--color-teal);box-shadow:0 4px 12px #6e1e1b1a}.page-navigation .nav-item p{margin:0;font-size:1.125rem;color:var(--color-stone);flex:1;display:flex;align-items:flex-start;justify-content:center;padding-top:var(--spacing-sm);padding-bottom:var(--spacing-lg)}.page-navigation .nav-item .btn{margin:auto 0 0;align-self:center}@media(min-width:768px){h1{font-size:3rem}h2{font-size:2.5rem}.container{padding:0 var(--spacing-lg)}}@media(max-width:767px){.page-navigation{grid-template-columns:1fr;gap:var(--spacing-md)}.page-navigation .nav-item{padding:var(--spacing-md)}}.header{background-color:var(--color-charcoal);color:var(--color-fog);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.logo{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--color-fog);text-decoration:none}.logo-image{height:40px;width:auto}.logo-text{display:inline}.nav-links{display:flex;list-style:none;gap:var(--spacing-lg);flex-wrap:wrap}.nav-links a{color:var(--color-fog);font-weight:500;padding:var(--spacing-xs) 0;border-bottom:2px solid transparent;transition:border-color .2s ease}.nav-links a:hover,.nav-links a.active{border-bottom-color:var(--color-teal);opacity:1}.burger-menu{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:var(--spacing-xs);cursor:pointer;z-index:101;position:relative}.burger-menu span{display:block;width:24px;height:2px;background-color:var(--color-fog);transition:all .3s ease}.mobile-menu-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:99}.mobile-nav{display:none;position:fixed;top:0;right:0;bottom:0;width:280px;max-width:85vw;background-color:var(--color-charcoal);flex-direction:column;padding:var(--spacing-2xl) var(--spacing-lg);gap:var(--spacing-md);z-index:100;box-shadow:-4px 0 12px #0003;overflow-y:auto}.mobile-nav li{width:100%}.mobile-nav a{display:block;padding:var(--spacing-sm) 0;font-size:1.1rem;width:100%}.desktop-nav{display:flex}.main{min-height:calc(100vh - 200px)}.footer{background-color:var(--color-slate);color:var(--color-fog);padding:var(--spacing-lg) 0;margin-top:0;text-align:center}.footer p{margin:0;color:var(--color-mist)}.footer-powered{margin-top:var(--spacing-xs);font-size:.875rem}.footer-powered a{color:var(--color-mist);text-decoration:underline}.footer-powered a:hover{color:var(--color-fog)}@media(max-width:767px){.nav{justify-content:space-between}.burger-menu{display:flex}.desktop-nav{display:none}.mobile-menu-overlay{display:block}.mobile-nav{display:flex}}.hero{position:relative;color:var(--color-fog);padding:var(--spacing-2xl) 0;text-align:center;overflow:hidden}.hero-image-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.hero-image{width:100%;height:100%;object-fit:cover;display:block}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2a2d31d9,#0e0f11d9);z-index:1}.hero .container{position:relative;z-index:2}.hero-content{max-width:800px;margin:0 auto}.hero-title{color:var(--color-fog);margin-bottom:var(--spacing-md)}.hero-subtitle{font-size:1.25rem;margin-bottom:var(--spacing-lg);color:var(--color-mist);font-weight:400}.hero-buttons{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center;justify-content:center}.hero-buttons .btn{width:100%;max-width:280px;text-align:center;box-sizing:border-box}.hero-content .btn-primary{border:2px solid transparent}.hero-content .btn-resume{background-color:transparent;color:var(--color-fog);border:2px solid var(--color-fog);opacity:.9}.hero-content .btn-resume:hover{background-color:var(--color-fog);color:var(--color-charcoal);opacity:1}@media(min-width:768px){.hero-buttons{flex-direction:row;gap:var(--spacing-md)}.hero-buttons .btn{width:auto;min-width:200px;flex:0 1 auto;box-sizing:border-box}}@media(min-width:768px){.hero{padding:var(--spacing-2xl) 0 calc(var(--spacing-2xl) + 2rem);min-height:500px;display:flex;align-items:center}.hero-subtitle{font-size:1.5rem}}.section{padding:var(--spacing-2xl) 0}.section:first-of-type{padding-top:var(--spacing-xl)}.section:last-of-type{padding-bottom:var(--spacing-xl)}@media(min-width:768px){.section{padding:var(--spacing-2xl) 0}}.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg);max-width:800px;margin-left:auto;margin-right:auto}.partner-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);background-color:#fff;border:1px solid var(--color-mist);border-radius:8px;text-decoration:none;transition:all .2s ease;min-height:150px;gap:var(--spacing-md)}.partner-card:hover{border-color:var(--color-teal);box-shadow:0 4px 12px #6e1e1b1a}.partner-icon{max-width:120px;max-height:80px;width:auto;height:auto;object-fit:contain}.partner-name{color:var(--color-charcoal);font-weight:500;text-align:center;font-size:.95rem}@media(max-width:767px){.partner-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.partner-card{min-height:120px;padding:var(--spacing-md)}.partner-icon{max-width:100px;max-height:60px}}.what-i-do{text-align:center;max-width:800px;margin:0 auto}.services-short-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.services-short-list li{flex:0 1 250px;min-width:250px;padding:var(--spacing-md);background-color:#fff;border:1px solid var(--color-mist);border-radius:8px;font-weight:500;color:var(--color-charcoal);transition:all .2s ease;display:flex;align-items:center;justify-content:center;text-align:center;min-height:80px}.services-short-list li:hover{border-color:var(--color-teal);box-shadow:0 2px 8px #6e1e1b1a}.why-work-with-me{background-color:#fff}.why-work-with-me h2{text-align:center}.highlights-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.highlights-list li{padding:var(--spacing-md);padding-left:var(--spacing-xl);position:relative;color:var(--color-stone)}.highlights-list li:before{content:"✓";position:absolute;left:var(--spacing-md);color:var(--color-teal);font-weight:700;font-size:1.2rem}.who-works-with-me{text-align:center}.home-cta{text-align:center;padding:var(--spacing-xl);background-color:#fff;border:1px solid var(--color-mist);border-radius:8px}.home-cta p{margin-bottom:var(--spacing-md);font-size:1.125rem;color:var(--color-stone)}@media(max-width:767px){.services-short-list li{flex:1 1 100%;min-width:100%}.highlights-list{grid-template-columns:1fr}}.education-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin:var(--spacing-xl) 0}.education-card{background-color:#fff;border:1px solid var(--color-mist);border-left:4px solid var(--color-teal);border-radius:8px;padding:var(--spacing-md);transition:box-shadow .2s ease,transform .2s ease}.education-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.education-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs);flex-wrap:wrap;gap:var(--spacing-xs)}.education-degree{margin:0;font-size:1.25rem;color:var(--color-charcoal);line-height:1.2;flex:1}.education-status{background-color:var(--color-fog);color:var(--color-slate);padding:.25rem .75rem;border-radius:16px;font-size:.85rem;font-weight:500;white-space:nowrap}.education-school{display:block;font-weight:600;color:var(--color-stone);font-size:.95rem}@media(max-width:767px){.education-list{grid-template-columns:1fr}.education-header{flex-direction:column;align-items:flex-start}.education-status{margin-top:var(--spacing-xs)}}.experience-list{display:flex;flex-direction:column;gap:var(--spacing-lg);margin:var(--spacing-xl) 0}.experience-card{background-color:var(--color-fog);border:1px solid var(--color-mist);border-left:4px solid var(--color-teal);border-radius:8px;padding:var(--spacing-lg);transition:box-shadow .2s ease,transform .2s ease;position:relative}.experience-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.experience-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md);flex-wrap:wrap}.experience-title-group{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:200px}.experience-position{margin:0;font-size:1.25rem;color:var(--color-charcoal);font-weight:600}.experience-company{font-weight:600;color:var(--color-teal);font-size:1rem}.experience-period{color:var(--color-stone);font-size:.9rem;white-space:nowrap;padding:var(--spacing-xs) var(--spacing-sm);background-color:#fff;border-radius:4px;font-weight:500}.experience-bullets{list-style:none;padding:0;margin:0;color:var(--color-stone)}.experience-bullets li{padding:var(--spacing-xs) 0;padding-left:var(--spacing-md);position:relative;line-height:1.7}.experience-bullets li:before{content:"•";position:absolute;left:0;color:var(--color-teal);font-weight:700;font-size:1.2rem}@media(max-width:767px){.experience-card{padding:var(--spacing-md)}.experience-card-header{flex-direction:column;gap:var(--spacing-sm)}.experience-title-group{min-width:100%}.experience-period{align-self:flex-start}}.about-intro{text-align:center;max-width:800px;margin:0 auto}.headshot-wrapper{display:flex;justify-content:center;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.headshot{width:280px;height:280px;border-radius:8px;object-fit:cover;object-position:center 20%;border:4px solid var(--color-teal);box-shadow:0 8px 24px #6e1e1b33;transition:transform .3s ease,box-shadow .3s ease;transform:scale(.75)}.headshot:hover{transform:scale(.9);box-shadow:0 12px 32px #6e1e1b4d}@media(max-width:767px){.headshot{width:220px;height:220px;border-width:3px;transform:scale(.75)}}.intro-description{font-size:1.125rem;color:var(--color-stone);line-height:1.8;margin-bottom:var(--spacing-lg)}.resume-download-btn{margin-top:var(--spacing-md)}.about-summary{background-color:#fff}.about-summary h2{text-align:center;margin-bottom:var(--spacing-md)}section h2{text-align:center}.professional-experience{background-color:#fff}.about-summary>p{text-align:center;max-width:700px;margin:0 auto var(--spacing-lg);color:var(--color-stone);font-size:1.125rem}.summary-highlights{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);max-width:900px;margin:var(--spacing-lg) auto 0}.summary-highlights li:last-child:nth-child(3n+1){grid-column:2}.summary-highlights li{padding:var(--spacing-md);background-color:var(--color-fog);border-left:4px solid var(--color-teal);color:var(--color-charcoal);font-weight:500}@media(max-width:767px){.summary-highlights{grid-template-columns:1fr}}.service-card{background-color:#fff;border:1px solid var(--color-mist);border-radius:8px;margin-bottom:var(--spacing-md);overflow:hidden;transition:box-shadow .2s ease;position:relative;isolation:isolate}.service-card:hover{box-shadow:0 4px 12px #0000001a}.service-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);-webkit-user-select:none;user-select:none;width:100%;border:none;background:transparent;text-align:left;cursor:pointer}.service-card-title{margin:0;font-size:1.25rem;color:var(--color-charcoal);flex:1}.service-card-toggle{background:none;border:none;font-size:1.5rem;color:var(--color-teal);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease;position:relative;z-index:1}.service-card-header:hover .service-card-toggle{background-color:var(--color-fog)}.service-card>.service-card-content{overflow:hidden}.service-card-description{color:var(--color-stone);margin-bottom:var(--spacing-md)}.service-card-list-title{font-weight:600;color:var(--color-charcoal);margin-bottom:var(--spacing-xs)}.service-card-list ul{list-style:none;padding-left:0}.service-card-list li{padding:var(--spacing-xs) 0;padding-left:var(--spacing-md);position:relative;color:var(--color-stone)}.service-card-list li:before{content:"•";position:absolute;left:0;color:var(--color-teal);font-weight:700}.service-group{display:grid;gap:var(--spacing-md);align-items:start}@media(min-width:768px){.service-group{grid-template-columns:repeat(2,1fr)}}.services-intro{text-align:center;max-width:800px;margin:0 auto}.services-cta{text-align:center;padding:var(--spacing-xl);background-color:#fff;border:1px solid var(--color-mist);border-radius:8px}.services-cta p{margin-bottom:var(--spacing-md);font-size:1.125rem;color:var(--color-stone)}.contact-form{max-width:600px;margin:0 auto;background-color:#fff;padding:var(--spacing-xl);border-radius:8px;border:1px solid var(--color-mist)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-charcoal)}.required{color:var(--color-teal)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-mist);border-radius:4px;font-family:var(--font-body);font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-teal)}.form-group input.error,.form-group textarea.error{border-color:#d32f2f}.error-message{display:block;color:#d32f2f;font-size:.875rem;margin-top:var(--spacing-xs)}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-message{padding:var(--spacing-md);border-radius:4px;margin-bottom:var(--spacing-md)}.form-message.success{background-color:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.form-message.error{background-color:#ffebee;color:#c62828;border:1px solid #ef5350}.contact-form .btn{width:100%;margin-top:var(--spacing-md)}.contact-form .btn:disabled{opacity:.6;cursor:not-allowed}.contact-intro{text-align:center;max-width:800px;margin:0 auto}.intro-description{font-size:1.125rem;color:var(--color-stone);line-height:1.8;margin-top:var(--spacing-md)}
