.hero-section{display:flex;justify-content:flex-start;align-items:center;min-height:100vh;padding-left:clamp(40px,15vw,300px);padding-right:40px;background-color:var(--bg);color:var(--text);font-family:inherit}.hero-content{display:flex;flex-direction:column;align-items:flex-start}.hero-heading{margin:0 0 10px;color:inherit;font-size:clamp(60px,10vw,100px);font-weight:700}.hero-subheading{margin-top:10px;color:inherit;line-height:.9;font-size:clamp(30px,6vw,30px)}.hero-description{margin:20px 0 0;max-width:540px;font-size:1rem;line-height:1.6;color:var(--subtext)}@media(max-width:768px){.hero-section{padding-left:24px;padding-right:24px}.hero-heading{font-size:clamp(36px,10vw,60px)}.hero-subheading{font-size:clamp(20px,5vw,28px)}}.about-section{display:flex;align-items:center;min-height:100vh;padding-left:clamp(40px,15vw,300px);padding-right:40px;background-color:var(--bg);color:var(--text);font-family:inherit}.about-content{display:flex;align-items:center;width:100%;max-width:1100px;padding:50px 0;gap:60px}.about-text{flex:1}.about-photo-container{flex-shrink:0;width:280px}.about-photo{max-width:100%;height:auto;border-radius:12px;filter:brightness(.85) saturate(.85);box-shadow:0 4px 20px #0000004d}.about-photo:hover{filter:brightness(1) saturate(1)}.about-heading{font-size:clamp(40px,8vw,60px);margin-bottom:20px;color:inherit}.about-description{font-size:1rem;line-height:1.6;margin-bottom:20px;color:var(--subtext);max-width:540px}.about-skills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap}.about-skills li{padding:8px 12px;margin:5px;border-radius:4px;font-size:.9rem;border:1px solid var(--border);color:var(--subtext);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.about-skills li:hover{background-color:var(--accent);color:var(--accent-text);border-color:var(--accent);cursor:default}@media(max-width:768px){.about-section{padding-left:24px;padding-right:24px}.about-content{flex-direction:column;padding:30px 0;gap:30px}.about-heading{font-size:clamp(30px,8vw,50px)}.about-photo-container{width:200px}}.history-section{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--bg);color:var(--text);font-family:inherit}.history-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:50px 0}.history-text{width:100%;text-align:center}.history-heading{font-size:clamp(40px,8vw,60px);margin-bottom:20px;color:inherit}.history-tabs{display:flex;flex-wrap:wrap;margin-bottom:20px;justify-content:center}.history-tab{background:none;border:none;font-size:1rem;margin:0 20px;padding:10px 15px;cursor:pointer;color:var(--text);border-bottom:2px solid transparent;transition:color .3s ease,border-color .3s ease}.history-tab:hover{color:var(--subtext)}.history-tab.active{color:var(--accent);border-color:var(--accent);font-weight:700}.history-details{max-width:800px;margin:0 auto}.history-role{font-size:1.5rem;margin-bottom:10px}.history-duration{display:block;font-size:.9rem;margin-bottom:10px;color:var(--subtext)}.history-description{font-size:1rem;line-height:1.6}.history-link{display:inline-block;margin-top:20px;color:var(--text);transition:transform .3s ease,color .3s ease}.history-link:hover{transform:scale(1.1);color:var(--subtext)}@media(max-width:768px){.history-section{padding:0 20px}.history-content{padding:30px}.history-heading{font-size:clamp(30px,8vw,50px)}.history-tabs{flex-direction:column;justify-content:center}.history-tab{margin:10px 0}}.contact-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;background-color:var(--bg);color:var(--text);font-family:inherit;padding:80px 40px 0}.contact-content{text-align:center;max-width:560px}.contact-heading{font-size:clamp(36px,7vw,56px);margin-bottom:20px;color:inherit}.contact-description{font-size:1.05rem;line-height:1.7;color:var(--subtext);margin-bottom:36px}.contact-email-button{display:inline-block;padding:14px 40px;border:1px solid var(--accent);border-radius:4px;color:var(--accent);text-decoration:none;font-size:1rem;font-weight:500;letter-spacing:.5px;transition:background-color .3s ease,color .3s ease}.contact-email-button:hover{background-color:var(--accent);color:var(--accent-text)}.contact-links{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:48px}.contact-links a{color:var(--subtext);text-decoration:none;transition:color .3s ease,transform .3s ease;display:flex;align-items:center}.contact-links a:hover{color:var(--accent);transform:translateY(-2px)}.contact-resume-link{display:flex;align-items:center;gap:6px;font-size:.9rem}.site-footer{margin-top:auto;padding:40px 0;text-align:center;width:100%}.site-footer p{font-size:.8rem;color:var(--subtext);margin:0;letter-spacing:.3px}@media(max-width:768px){.contact-section{padding:60px 24px 0}.contact-heading{font-size:clamp(28px,7vw,42px)}.contact-links{gap:24px}}.github-icon{position:fixed;bottom:40px;left:40px;color:var(--text);transition:transform .3s ease,color .3s ease}.github-icon:hover{transform:scale(1.2);color:var(--hover)}.dark-toggle-button{position:fixed;bottom:40px;right:40px;background-color:transparent;border:1px solid var(--border);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--subtext);transition:transform .3s ease,color .3s ease,background-color .3s ease,border-color .3s ease;cursor:pointer;z-index:1001}.dark-toggle-button:hover{transform:scale(1.1);background-color:var(--hover);color:var(--text);border-color:var(--text)}:root{--bg: #faf8f5;--text: #1a1a1a;--subtext: #6b6b6b;--accent: #e8713a;--accent-text: #faf8f5;--secondary: #d4553a;--tertiary: #c23d60;--hover: #f0ebe4;--card: #efebe6;--border: #ddd7cf}body.dark{--bg: #161616;--text: #e8e4e0;--subtext: #8a8580;--accent: #e8713a;--accent-text: #161616;--secondary: #d4553a;--tertiary: #c23d60;--hover: #242220;--card: #1e1c1a;--border: #2e2b28}body{margin:0;background-color:var(--bg);color:var(--text);font-family:Calibre,Inter,San Francisco,SF Pro Text,-apple-system,system-ui,sans-serif;transition:background-color .4s ease,color .4s ease}*,*:before,*:after{box-sizing:border-box}.fadeup-enter,.fadeup-appear{opacity:0;transform:translate3d(0,20px,0);will-change:opacity,transform}.fadeup-enter-active,.fadeup-appear-active{opacity:1;transform:translateZ(0);transition:opacity .3s ease-out var(--delay),transform .3s ease-out var(--delay)}.fadeup-exit{opacity:1}.fadeup-exit-active{opacity:0;transition:opacity .3s ease-out}
