:root {--primary-color:#0c7489;--primary-light:rgba(12, 116, 137, 0.1);--primary-hover:#159bad;--primary-accent:#0c7489;--bg-light:#ffffff;--bg-medium:#f8f9fa;--bg-dark:#f0f2f5;--text-primary:#333333;--text-secondary:#666666;--text-light:#999999;--border-color:#e5e7eb;--shadow-color:rgba(0, 0, 0, 0.05);--nav-height:70px;--transition-standard:all 0.3s ease;--filter-shadow:drop-shadow(0 0 5px rgba(12, 116, 137, 0.3));--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:3rem;--font-main:'Inter', 'Helvetica Neue', 'Arial', sans-serif;--font-heading:'Montserrat', 'Open Sans', sans-serif;}html {scroll-behavior:smooth;scroll-padding-top:var(--nav-height);}body {font-family:var(--font-main);line-height:1.6;background-color:var(--bg-light);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;padding:0;}h1, h2, h3, h4, h5, h6 {font-family:var(--font-heading);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--text-primary);}a {text-decoration:none;color:var(--primary-color);transition:var(--transition-standard);}a:hover, a:focus {color:var(--primary-hover);}ul {list-style-type:none;padding:0;margin:0;}section {padding:var(--spacing-xl) 0;max-width:1100px;margin:0 auto;}img {max-width:100%;height:auto;display:block;}
.navbar {position:fixed;top:0;left:0;width:100%;height:var(--nav-height);background-color:var(--bg-light);z-index:1000;transition:var(--transition-standard);box-shadow:0 2px 10px var(--shadow-color);}
.navbar.scrolled {box-shadow:0 5px 20px var(--shadow-color);}
.nav-content {display:flex;justify-content:space-between;align-items:center;height:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);}
.nav-logo {display:flex;align-items:center;color:var(--primary-color);font-weight:600;font-size:1.2rem;letter-spacing:1px;}
.nav-logo svg {margin-right:10px;filter:var(--filter-shadow);transition:transform 0.2s ease;height:40px;width:40px;flex-shrink:0;}
.nav-logo svg path {stroke:var(--primary-color);fill:none;}
.nav-logo svg path:last-child {fill:var(--primary-color);}
.nav-logo:hover {color:var(--primary-hover);text-decoration:none;}
.nav-logo:hover svg {transform:scale(1.1);}
.nav-links {display:flex;gap:var(--spacing-lg);}
.nav-links li a {color:var(--text-primary);font-weight:500;font-size:1rem;padding:0.5rem 0;position:relative;}
.nav-links li a:hover, .nav-links li a:focus {color:var(--primary-color);text-decoration:none;}
.nav-links li a::after {content:"";position:absolute;width:0;height:2px;bottom:0;left:0;background-color:var(--primary-color);transition:width 0.3s ease;}
.nav-links li a:hover::after, .nav-links li a:focus::after {width:100%;}
.hero {position:relative;height:100vh;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(135deg, rgba(0, 0, 0, 0.6), rgba(0, 20, 40, 0.4)), url('../images/hero/wilder-kaiser.avif');background-size:cover;background-position:center;text-align:center;}
.hero-content {max-width:800px;animation:fadeInUp 1s ease forwards;position:relative;z-index:2;padding:2rem;background-color:rgba(0, 0, 0, 0.4);backdrop-filter:blur(5px);border-radius:10px;box-shadow:0 10px 30px rgba(0, 0, 0, 0.2);}
.hero h1 {font-size:4rem;margin-bottom:var(--spacing-sm);color:white;text-shadow:0 2px 4px rgba(0, 0, 0, 0.3);}
.hero h2 {font-size:1.8rem;margin-bottom:var(--spacing-lg);color:white;text-shadow:0 2px 4px rgba(0, 0, 0, 0.3);}
.hero p {font-size:1.3rem;color:rgba(255, 255, 255, 0.9);margin-bottom:var(--spacing-lg);text-shadow:0 1px 2px rgba(0, 0, 0, 0.3);}
.hero-tags {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:var(--spacing-md);}
.hero-tag {background:rgba(255, 255, 255, 0.2);color:white;padding:8px 16px;border-radius:20px;font-size:0.95rem;font-weight:500;transition:var(--transition-standard);border:1px solid rgba(255, 255, 255, 0.3);backdrop-filter:blur(5px);}
.hero-tag:hover {background:var(--primary-color);transform:translateY(-3px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);border-color:var(--primary-color);}
.main-content {padding:var(--spacing-lg);max-width:1200px;margin:0 auto;}
.main-content section {padding:var(--spacing-lg) 0;border-bottom:1px solid var(--border-color);}
.main-content section:last-child {border-bottom:none;}
.main-content h3 {font-size:2rem;color:var(--primary-color);margin-bottom:var(--spacing-lg);display:flex;align-items:center;}
.main-content h3 i {color:var(--primary-accent);margin-right:var(--spacing-md);}
.main-content p {color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:1.1rem;}
.skill-filters {display:none;}
.skill-category {margin-bottom:var(--spacing-md);display:block;animation:fadeIn 0.4s ease-in-out;}
.skill-category h4 {font-size:1.2rem;margin-bottom:var(--spacing-sm);color:var(--primary-color);border-bottom:1px solid var(--border-color);padding-bottom:8px;margin-top:var(--spacing-md);}
.skill-pills {display:flex;flex-wrap:wrap;gap:12px;margin-top:15px;}
.skill-pill {padding:8px 16px;border-radius:4px;font-weight:500;font-size:0.9rem;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--primary-color);background-color:var(--bg-light);color:var(--primary-color);position:relative;overflow:hidden;}
.skill-pill::before {content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--primary-light);transform:translateY(100%);transition:transform 0.3s ease;z-index:-1;}
.skill-pill:hover {transform:translateY(-3px);box-shadow:0 4px 12px var(--shadow-color);}
.skill-pill:hover::before {transform:translateY(0);}
.skill-pill span {color:var(--primary-color);}
.timeline {position:relative;max-width:900px;margin:0 auto;}
.timeline::before {content:'';position:absolute;height:100%;width:3px;background:var(--primary-light);left:30px;top:0;}
.experience-item {position:relative;margin-left:60px;margin-bottom:var(--spacing-xl);opacity:1;transform:translateY(0);}
.experience-item::before {content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:var(--primary-color);left:-41px;top:15px;box-shadow:0 0 10px var(--primary-light);}
.experience-header {margin-bottom:var(--spacing-sm);}
.experience-header h4 {font-size:1.4rem;color:var(--primary-color);margin-bottom:5px;}
.experience-meta {display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);color:var(--primary-hover);font-size:0.95rem;font-weight:500;}
.experience-period, .experience-location {position:relative;padding-right:var(--spacing-md);}
.experience-period::after {content:'•';position:absolute;right:0;color:var(--text-light);}
.experience-location {color:var(--text-secondary);}
.experience-description {background-color:var(--bg-medium);padding:var(--spacing-md);border-radius:8px;border-left:3px solid var(--primary-color);box-shadow:0 2px 10px var(--shadow-color);}
.experience-description p {margin-bottom:var(--spacing-md);}
.experience-description ul {list-style-type:disc;padding-left:var(--spacing-lg);color:var(--text-secondary);}
.experience-description li {margin-bottom:8px;}
.contact-message {background-color:var(--bg-medium);border-radius:10px;padding:var(--spacing-lg);text-align:center;max-width:900px;margin:0 auto;box-shadow:0 5px 20px var(--shadow-color);border:1px solid var(--border-color);}
.contact-message p {font-size:1.2rem;margin-bottom:var(--spacing-lg);}
.services-grid {display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:var(--spacing-lg);margin:var(--spacing-xl) 0;}
.service-card {background-color:var(--bg-light);border-radius:8px;padding:var(--spacing-lg);transition:transform 0.3s ease, box-shadow 0.3s ease;border:1px solid var(--border-color);text-align:left;box-shadow:0 2px 10px var(--shadow-color);}
.service-card:hover {transform:translateY(-5px);box-shadow:0 10px 30px var(--shadow-color);border-color:var(--primary-light);}
.service-icon {font-size:2rem;color:var(--primary-color);margin-bottom:var(--spacing-md);display:block;}
.service-card h4 {color:var(--text-primary);font-size:1.3rem;margin-bottom:var(--spacing-md);}
.service-card p {color:var(--text-secondary);font-size:1rem;margin-bottom:0;}
.cta-container {margin-top:var(--spacing-xl);}
.cta-button {display:inline-block;background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color);border-radius:4px;padding:12px 28px;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;transition:all 0.3s ease;position:relative;overflow:hidden;z-index:1;}
.cta-button:before {content:'';position:absolute;bottom:0;left:0;width:0%;height:100%;background-color:var(--primary-color);transition:all 0.3s ease;z-index:-1;}
.cta-button:hover {color:white;text-decoration:none;}
.cta-button:hover:before {width:100%;}
.footer {background-color:var(--bg-dark);padding:var(--spacing-lg);margin-top:var(--spacing-xl);}
.footer-content {max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);}
.footer-social {display:flex;gap:var(--spacing-lg);}
.footer-social a {display:flex;flex-direction:column;align-items:center;color:var(--text-secondary);transition:var(--transition-standard);position:relative;padding:8px;}
.footer-social a::after {content:'';position:absolute;width:0;height:2px;bottom:0;left:50%;transform:translateX(-50%);background-color:var(--primary-color);transition:width 0.3s ease;}
.footer-social a:hover {color:var(--primary-color);transform:translateY(-5px);text-decoration:none;}
.footer-social a:hover::after, .footer-social a:focus::after {width:80%;}
.footer-social svg {width:24px;height:24px;margin-bottom:5px;transition:var(--transition-standard);}
.footer-social a:hover svg {transform:scale(1.15);filter:var(--filter-shadow);}
.footer-copyright {color:var(--text-secondary);font-size:0.9rem;}
.projects-grid {display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg);}
.project-card {background-color:var(--bg-light);border-radius:8px;overflow:hidden;transition:transform 0.3s ease, box-shadow 0.3s ease;position:relative;border:1px solid var(--border-color);height:100%;display:flex;box-shadow:0 2px 10px var(--shadow-color);}
.project-card::before {content:'';position:absolute;top:0;left:0;width:3px;height:100%;background-color:var(--primary-color);transform:scaleY(0);transform-origin:top;transition:transform 0.3s ease;}
.project-card::after {content:'';position:absolute;bottom:-2px;left:10%;right:10%;height:3px;background:linear-gradient(90deg, transparent, var(--primary-color), transparent);opacity:0;transition:opacity 0.3s ease, transform 0.3s ease;transform:translateY(5px);}
.project-card:hover {transform:translateY(-5px);box-shadow:0 10px 30px var(--shadow-color);}
.project-card:hover::before {transform:scaleY(1);}
.project-card:hover::after {opacity:1;transform:translateY(0);}
.project-content {padding:var(--spacing-lg);flex:1;display:flex;flex-direction:column;}
.project-card h4 {color:var(--primary-color);font-size:1.4rem;margin-bottom:var(--spacing-md);position:relative;padding-left:10px;}
.project-description p {color:var(--text-secondary);font-size:1rem;margin-bottom:var(--spacing-md);}
.project-tools {display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-left:0;}
.project-tools li {background-color:var(--primary-light);color:var(--primary-color);padding:4px 10px;border-radius:15px;font-size:0.8rem;font-weight:500;}
:focus-visible {outline:3px solid var(--primary-color);outline-offset:3px;border-radius:2px;}
.mobile-menu-toggle {display:none;background:none;border:none;color:var(--primary-color);cursor:pointer;padding:8px;transition:var(--transition-standard);}
.mobile-menu-toggle:hover {color:var(--primary-hover);}
.mobile-menu-toggle svg {width:24px;height:24px;}
.theme-toggle {background:rgba(255,255,255,.1);border:none;color:#fff;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:var(--transition-standard);border-radius:50%;width:38px;height:38px;backdrop-filter:blur(5px);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.theme-toggle:hover {background:rgba(255,255,255,.2);transform:rotate(15deg)}
body:not(.dark-mode) .theme-toggle {background:var(--primary-light);color:var(--primary-color)}
body:not(.dark-mode) .theme-toggle:hover {background:var(--primary-light);opacity:.9}
.theme-toggle .sun-icon,.theme-toggle .moon-icon {position:absolute;transition:opacity .3s ease,transform .5s ease}
body:not(.dark-mode) .sun-icon {opacity:0;transform:translateY(10px)}
body:not(.dark-mode) .moon-icon {opacity:1;transform:translateY(0)}
body.dark-mode .sun-icon {opacity:1;transform:translateY(0)}
body.dark-mode .moon-icon {opacity:0;transform:translateY(10px)}
body.dark-mode {--bg-light:#121212;--bg-medium:#1e1e1e;--bg-dark:#2d2d2d;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--text-light:#808080;--border-color:#333;--shadow-color:rgba(0,0,0,.3)}
body.dark-mode .nav-logo svg path {stroke:var(--primary-color)}
body.dark-mode .nav-logo svg path:last-child {fill:var(--primary-color)}
@keyframes fadeInUp {from {opacity:0;transform:translateY(20px);}to {opacity:1;transform:translateY(0);}}
@keyframes fadeIn {from {opacity:0;}to {opacity:1;}}
@media (prefers-reduced-motion) {html {scroll-behavior:auto;}}
@media (max-width:992px) {.hero h1 {font-size:3.5rem;}.hero h2 {font-size:1.5rem;}.nav-links {gap:var(--spacing-md);}}
@media (max-width:768px) {
  :root {--spacing-lg:1.5rem;--spacing-xl:2rem;}.mobile-menu-toggle {display:block;position:absolute;right:20px}.nav-content {position:relative;justify-content:center;padding:0 var(--spacing-md)}.nav-links {display:flex;position:fixed;flex-direction:column;background:var(--bg-light);width:100%;top:var(--nav-height);left:0;padding:1rem 0;box-shadow:0 5px 10px var(--shadow-color);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease,visibility .3s ease;z-index:999;align-items:center}.nav-links li {margin:8px 0}.nav-links.active {transform:translateY(0);opacity:1;visibility:visible}.nav-links li a {font-size:1.1rem;padding:8px 0}.nav-logo {font-size:1.1rem}.nav-logo svg {width:32px;height:32px}.hero {background-attachment:scroll}.hero h1 {font-size:3rem}.hero h2 {font-size:1.5rem}.hero p {font-size:1.1rem}.main-content {padding:0 var(--spacing-md)}.footer-social {flex-direction:row}.experience-item {margin-left:40px;padding-left:0;margin-bottom:var(--spacing-lg)}.timeline::before {left:0}.experience-item::before {left:-9px}.experience-meta {flex-direction:column;align-items:flex-start}.skill-pills {gap:8px}.skill-pill {padding:6px 12px;font-size:.85rem}.services-grid {grid-template-columns:1fr;gap:var(--spacing-md)}.service-card {text-align:center}.cta-container {width:100%;display:flex;justify-content:center}.cta-button {min-width:200px;max-width:90%;text-align:center;white-space:normal;height:auto;padding:15px 20px}.projects-grid {grid-template-columns:1fr}.project-card {margin-bottom:var(--spacing-md)}.experience-description {padding:var(--spacing-md);overflow-x:hidden;word-wrap:break-word}.experience-description ul {padding-left:var(--spacing-md)}.experience-header h4 {word-wrap:break-word;hyphens:auto}}
@media (max-width:576px) {.hero h1 {font-size:2.5rem}.hero h2 {font-size:1.3rem}.nav-logo {font-size:1rem}.nav-logo svg {width:28px;height:28px;margin-right:8px}.experience-header h4 {font-size:1.1rem;line-height:1.4}.experience-item {margin-left:30px}.experience-item::before {left:-20px}.experience-description {font-size:.95rem;padding:var(--spacing-sm) var(--spacing-md)}.experience-description ul {padding-left:20px}.main-content h3 {font-size:1.5rem}.main-content h3 i {font-size:1.2rem}.contact-message {padding:var(--spacing-md)}.service-card {padding:var(--spacing-md)}.service-icon {font-size:1.6rem}.service-card h4 {font-size:1.1rem}.project-card h4 {font-size:1.2rem}.project-tools li {font-size:.7rem}.skill-category h4 {font-size:1.1rem}.skill-pill {padding:5px 10px;font-size:.8rem}.cta-button {width:100%;min-width:unset;font-size:.9rem;padding:12px 15px}}