html,body{margin:0}:root{--color-primary: #7d2e3a;--color-primary-dark: #660033;--color-primary-hover: #9d3e4a;--color-accent: #F5D000;--color-green: #087321;--color-dark: #1a1a1a;--color-text: #2a2a2a;--color-text-muted: #666;--color-text-subtle: #444;--color-bg: #ffffff;--color-bg-warm: #faf9f7;--color-bg-warm-2: #f5f3f0;--color-bg-light: #f5f2ee;--font-body: "Inter", sans-serif;--font-heading: "Playfair Display", serif;--z-back-btn: 100;--z-navbar: 300;--z-fullscreen-menu: 350;--z-project-overlay: 400;--z-project-detail: 410;--z-close-btn: 420;--z-image-modal: 500;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 20px;--radius-full: 50%;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .5s ease}html,body,#root{margin:0}body{font-family:var(--font-body);font-weight:300;font-size:18px;line-height:1.75;color:var(--color-text)}h1{letter-spacing:6px;text-transform:uppercase}h2,h3{letter-spacing:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400}#root{display:flex;flex-direction:column}body.no-scroll{overflow:hidden}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.navbar{position:fixed;background-color:transparent;display:flex;align-items:center;padding:2rem;box-shadow:none;top:0;left:0;right:0;z-index:var(--z-navbar);pointer-events:none}.navbar{justify-content:flex-end}.menu-content{display:flex;flex-direction:column;align-items:center;gap:3rem}.hamburger-btn{background:transparent;border:none;color:#0c0c37;padding:.5rem;pointer-events:auto;cursor:pointer}.hamburger-btn:hover{background:#ffffff1a;border-radius:8px}.close-menu-btn{color:#fff}.fullscreen-menu{position:fixed;inset:0;background-color:#101a2fd9;-webkit-backdrop-filter:blur(6px) saturate(150%);backdrop-filter:blur(6px) saturate(150%);z-index:var(--z-fullscreen-menu);display:flex;justify-content:center;align-items:center;animation:fadeIn .8s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.navbar-links{list-style:none;display:flex;flex-direction:column;gap:2rem;margin:0;padding:0;text-align:center}.navbar-links a{color:#efefef;text-decoration:none;font-weight:300;font-size:1.25rem;letter-spacing:.3em}.navbar-links a.active{color:#dbdbdd;border-bottom:none}.social-icons{display:flex;gap:1.5rem;margin-top:0}.social-icons a{color:#fffc;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.social-icons a:hover{color:#fff;transform:translateY(-3px)}.social-icons svg{width:28px;height:28px}.fixed-footer{margin-top:auto}.footer-curve{width:100%;height:32px;display:block}.footer-inner{background:#1a1a1a;padding:1.8rem 2rem 1.4rem;transition:background .5s}.footer-inner--light{background:#fff}.footer-content{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}.footer__col-1{display:flex;flex-direction:column;gap:.4rem}.footer-label{margin:0;font-size:.55rem;letter-spacing:.25em;color:#fffc;transition:color .4s}.footer-label--light{color:#7d2e3a}.footer-heading{margin:0;font-size:1.4rem;font-weight:300;font-style:italic;color:#fff;transition:color .4s}.footer-heading--light{color:#1a1a1a}.footer-links{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.footer-email-btn{background:none;border:1px solid rgba(255,255,255,.6);padding:.35rem .8rem;cursor:pointer;font-size:.65rem;color:#fff9;transition:all .2s}.footer-email-btn--light{border-color:#7d2e3a;color:#7d2e3a}.footer-linkedin{font-size:.65rem;color:#fffc;text-decoration:none;transition:color .3s}.footer-linkedin:hover,.footer-linkedin--light{color:#7d2e3a}.footer__col-2{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.footer-dot{width:20px;height:20px;border-radius:50%;background:#f5d000}.footer-copy{margin:0;font-size:.5rem;color:#ffffffe6;letter-spacing:.15em;transition:color .4s;line-height:1.6;text-align:right}.footer-copy--light{color:#070606}@media (max-width: 640px){.footer-content{flex-direction:column;align-items:flex-start}.footer__col-2{align-items:flex-start}}.layout-container{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%}
