:root{--bg-color: #FAF9F6;--text-color: #121212;--text-secondary: #4A4A4A;--accent-champagne: #E8D5B5;--accent-deep: #C9B495;--border-color: rgba(18, 18, 18, 0.08);--max-width: 1400px;--padding-x: clamp(1.5rem, 5vw, 6rem);--section-gap: clamp(6rem, 15vh, 12rem);--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:initial;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-weight:400;line-height:1.1;letter-spacing:-0.03em;text-transform:none}h1{font-size:clamp(3.5rem, 10vw, 8rem);margin-bottom:2rem}h2{font-size:clamp(2.5rem, 6vw, 4rem);margin-bottom:1.5rem}h3{font-size:clamp(1.5rem, 3vw, 2rem);margin-bottom:1rem}p{font-size:1.125rem;max-width:65ch;color:var(--text-secondary);margin-bottom:1.5rem}.eyebrow{display:block;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--accent-deep);margin-bottom:1rem;font-weight:500}.editorial-nav{position:fixed;top:0;left:0;width:100%;padding:2rem var(--padding-x);z-index:1000;background-color:var(--bg-color);color:var(--text-color);border-bottom:1px solid var(--border-color)}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-width);margin:0 auto}.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:4rem}@media (max-width: 900px){.about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}}.nav-logo{font-size:1.25rem;font-weight:500;text-decoration:none;color:inherit;letter-spacing:-0.02em}.nav-links{display:flex;gap:2.5rem}.nav-links a{text-decoration:none;color:inherit;font-size:0.875rem;font-weight:400;opacity:0.8;transition:opacity 0.3s ease}.nav-links a:hover,.nav-links a.active{opacity:1}.editorial-main{padding-top:15vh}section{padding:var(--section-gap) var(--padding-x);max-width:var(--max-width);margin:0 auto}.hero-section{min-height:80vh;display:flex;flex-direction:column;justify-content:center}.hero-subtext{font-size:clamp(1.25rem, 2vw, 1.75rem);max-width:30ch;line-height:1.4;margin-top:1rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(400px, 1fr));gap:4rem;margin-top:4rem}.project-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform 0.5s cubic-bezier(0.16, 1, 0.3, 1)}.project-card:hover{transform:translateY(-10px)}.project-image-wrap{aspect-ratio:4 / 3;background-color:var(--accent-champagne);margin-bottom:2rem;overflow:hidden;position:relative;border-radius:4px}.project-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.8s ease}.project-card:hover .project-image-wrap img{transform:scale(1.05)}.project-title{font-size:2rem;margin-top:0.4rem;margin-bottom:0.1rem}.project-meta{font-size:0.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.1em}.editorial-footer{padding:6rem var(--padding-x) 4rem;border-top:1px solid var(--border-color);max-width:var(--max-width);margin:0 auto}.footer-container{display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.1em}.champagne-accent{color:var(--accent-deep)}.fade-in{opacity:0;transform:translateY(30px);animation:fadeIn 1s forwards cubic-bezier(0.16, 1, 0.3, 1)}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.mobile-menu-toggle,.mobile-menu{display:none}.resume-callout{max-width:760px}.resume-callout p{max-width:60ch}.resume-link{display:inline-block;margin-top:1.5rem;padding-bottom:0.35rem;color:var(--text-color);font-size:1rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--text-color);transition:color 0.25s ease, border-color 0.25s ease}.resume-link:hover{color:var(--accent-deep);border-color:var(--accent-deep)}.contact-links{display:flex;flex-direction:column;gap:2.25rem;margin-top:3rem}.contact-link{display:flex;align-items:center;gap:1.25rem;width:fit-content;color:var(--text-color);text-decoration:none;transition:color 0.25s ease, transform 0.25s ease}.contact-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0}.contact-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.contact-icon-filled svg{fill:currentColor;stroke:none}.contact-label{display:block;margin-bottom:0.3rem;font-size:0.7rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-secondary);transition:color 0.25s ease}.contact-action{display:inline-block;font-size:1.15rem;font-weight:400;padding-bottom:0.25rem;border-bottom:1px solid currentColor}.contact-link:hover,.contact-link:focus-visible{color:var(--accent-deep);transform:translateX(4px)}.contact-link:hover .contact-label,.contact-link:focus-visible .contact-label{color:var(--accent-deep)}@media (max-width: 768px){:root{--section-gap: 3rem}.nav-links{display:none}.mobile-menu{display:block;position:fixed;top:0;right:0;width:min(82vw, 360px);height:100vh;padding:2rem;background-color:var(--bg-color);border-left:1px solid var(--border-color);transform:translateX(100%);transition:transform 0.35s ease;z-index:2000}.mobile-menu.open{transform:translateX(0)}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer}.mobile-menu-toggle span{display:block;width:24px;height:1px;background-color:var(--text-color)}.mobile-menu-close{display:block;margin-left:auto;padding:0;border:none;background:transparent;color:var(--text-color);font-size:2rem;font-weight:300;line-height:1;cursor:pointer}.mobile-menu-links{display:flex;flex-direction:column;gap:1.5rem;margin-top:5rem}.mobile-menu-links a{color:var(--text-color);font-size:2rem;font-weight:400;text-decoration:none}.mobile-menu-links a:hover{color:var(--accent-deep)}body.menu-open{overflow:hidden}.project-grid{grid-template-columns:1fr}.editorial-main{padding-top:10vh}.hero-section{min-height:auto;padding-top:4rem;padding-bottom:4rem}h1{font-size:clamp(2.75rem, 12vw, 4rem);line-height:1.05;margin-bottom:1.5rem}.hero-subtext{font-size:1.1rem;line-height:1.5;max-width:100%}.resume-callout{margin-top:1rem}.resume-callout h2{font-size:2.25rem}}
