*{box-sizing:border-box;margin:0;padding:0}:root{--cor-primaria:#2c3e50;--cor-secundaria:#3498db;--cor-fundo:#f4f6f7;--cor-texto:#333;--espacamento-base:1rem;--bg-color:#fff;--card-bg:#f8f9fa;--text-color:#2d3748;--text-secondary:#718096;--border-color:#e2e8f0}body.dark-mode{--bg-color:#1a202c;--card-bg:#2d3748;--text-color:#f7fafc;--text-secondary:#cbd5e0;--border-color:#4a5568}body{background-color:#fff;background-color:var(--bg-color);color:#333;color:var(--cor-texto);font-family:Roboto,Arial,sans-serif;line-height:1.6;min-height:100vh;transition:background-color .3s ease,color .3s ease}.portfolio-app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin-top:70px}.container{margin:0 auto;max-width:1200px;padding:1rem;padding:var(--espacamento-base);width:100%}.titulo{color:#2c3e50;color:var(--cor-primaria);margin-bottom:2rem;margin-bottom:calc(var(--espacamento-base)*2);position:relative;text-align:center}.titulo:after{background-color:#3498db;background-color:var(--cor-secundaria);bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:100px}.section{padding:4rem 2rem}.section-title{color:#2c3e50;color:var(--cor-primaria)}.section-title:after{background-color:#3498db;background-color:var(--cor-secundaria);height:3px;width:100px}.secao{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;margin-bottom:calc(var(--espacamento-base)*2);padding:2rem;padding:calc(var(--espacamento-base)*2)}.botao{background-color:#3498db;background-color:var(--cor-secundaria);border-radius:4px;color:#fff;display:inline-block;padding:.5rem 1rem;padding:calc(var(--espacamento-base)*.5) var(--espacamento-base);text-decoration:none;transition:background-color .3s ease}.botao:hover{background-color:darken(#3498db,10%)}.grid{grid-gap:1rem;grid-gap:var(--espacamento-base);display:grid;gap:1rem;gap:var(--espacamento-base);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.cartao{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1rem;padding:var(--espacamento-base);transition:transform .3s ease}.cartao:hover{transform:translateY(-5px)}@media (max-width:768px){.container{padding:.5rem;padding:calc(var(--espacamento-base)*.5)}.secao{padding:1rem;padding:var(--espacamento-base)}}.texto-centralizado{text-align:center}.espacamento-superior{margin-top:2rem;margin-top:calc(var(--espacamento-base)*2)}.espacamento-inferior{margin-bottom:2rem;margin-bottom:calc(var(--espacamento-base)*2)}.main-header{animation:slideDown .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #0000000d;left:0;position:fixed;right:0;top:0;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.main-header.scrolled{background:#fffffffa;box-shadow:0 4px 20px #0000001a;padding:.5rem 0}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.logo{align-items:baseline;cursor:pointer;display:flex;gap:.2rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.logo:hover{transform:scale(1.05) rotate(-2deg)}.logo:active{transform:scale(.95)}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;transition:all .3s ease}.logo:hover .logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#764ba2,#667eea);-webkit-background-clip:text;background-clip:text}.logo-dot{color:#667eea;display:inline-block;font-size:2rem;line-height:1;transition:all .3s ease}.logo:hover .logo-dot{color:#764ba2;transform:scale(1.2) rotate(1turn)}.main-nav{align-items:center;display:flex}.nav-links{display:flex;gap:1.35rem;list-style:none;margin:0;padding:0}.nav-links li{animation:fadeInUp .5s ease-out backwards;position:relative}.nav-links li:first-child{animation-delay:.1s}.nav-links li:nth-child(2){animation-delay:.15s}.nav-links li:nth-child(3){animation-delay:.2s}.nav-links li:nth-child(4){animation-delay:.25s}.nav-links li:nth-child(5){animation-delay:.3s}.nav-links li:nth-child(6){animation-delay:.35s}.nav-links li:nth-child(7){animation-delay:.4s}.nav-links li:nth-child(8){animation-delay:.45s}.nav-links li a{color:#333;display:block;font-size:1rem;font-weight:500;padding:.5rem 0;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-links li a:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;content:"";height:0;left:-10px;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:0}.nav-links li a:hover:before{height:6px;opacity:1;width:6px}.nav-links li a:after{background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);width:0}.nav-links li a.active:after,.nav-links li a:hover:after{width:100%}.nav-links li a.active,.nav-links li a:hover{color:#667eea;transform:translateY(-2px)}.nav-links li a:active{transform:translateY(0)}.header-actions{align-items:center;display:flex;gap:1rem}.session-actions{align-items:center;display:flex;gap:.5rem}.session-user{color:#334155;font-size:.9rem;font-weight:700;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-link,.logout-button{border-radius:8px;font-weight:800;text-decoration:none;transition:all .2s ease}.login-link{background:#0f766e;color:#fff;padding:.55rem .85rem}.login-link:hover{background:#115e59;transform:translateY(-1px)}.logout-button{background:#f1f5f9;border:none;color:#334155;cursor:pointer;height:40px;width:40px}.logout-button:hover{background:#e2e8f0;color:#0f766e}.theme-toggle{align-items:center;background:var(--card-bg);border:none;border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.theme-toggle:before{background:#667eea;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .5s ease;width:0}.theme-toggle:hover:before{border-radius:8px;height:100%;width:100%}.theme-toggle:hover{box-shadow:0 4px 12px #667eea4d;color:#fff;transform:scale(1.1) rotate(15deg)}.theme-toggle:active{transform:scale(.95) rotate(-15deg)}.theme-toggle i{position:relative;transition:transform .3s ease;z-index:1}.theme-toggle:hover i{transform:rotate(180deg)}.menu-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:.5rem;z-index:1001}.menu-icon{background:#333;border-radius:3px;height:3px;transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:25px}.menu-toggle:hover .menu-icon{background:#667eea}.menu-toggle.open .menu-icon:first-child{background:#667eea;transform:rotate(45deg) translate(8px,8px)}.menu-toggle.open .menu-icon:nth-child(2){opacity:0;transform:translateX(-20px)}.menu-toggle.open .menu-icon:nth-child(3){background:#667eea;transform:rotate(-45deg) translate(7px,-7px)}body.dark-mode .main-header{background:#1a202cf2;box-shadow:0 2px 10px #0000004d}body.dark-mode .main-header.scrolled{background:#1a202cfa;box-shadow:0 4px 20px #00000080}body.dark-mode .nav-links li a{color:#e2e8f0}body.dark-mode .nav-links li a.active,body.dark-mode .nav-links li a:hover{color:#667eea}body.dark-mode .menu-icon{background:#e2e8f0}body.dark-mode .main-nav{background:#1a202c}body.dark-mode .session-user{color:#e2e8f0}body.dark-mode .logout-button{background:#2d3748;color:#e2e8f0}@media (max-width:968px){.header-container{padding:1rem}.menu-toggle{display:flex}.main-nav{background:var(--card-bg);box-shadow:0 4px 10px #0000001a;left:0;max-height:0;opacity:0;overflow:hidden;position:fixed;right:0;top:70px;transform:translateY(-20px);transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,transform .3s ease}.main-nav.open{max-height:500px;opacity:1;transform:translateY(0)}.nav-links{flex-direction:column;gap:0;padding:1rem 0;width:100%}.nav-links li{animation:none;opacity:0;transform:translateX(-20px)}.main-nav.open .nav-links li{animation:slideInLeft .4s ease-out forwards}.main-nav.open .nav-links li:first-child{animation-delay:.05s}.main-nav.open .nav-links li:nth-child(2){animation-delay:.1s}.main-nav.open .nav-links li:nth-child(3){animation-delay:.15s}.main-nav.open .nav-links li:nth-child(4){animation-delay:.2s}.main-nav.open .nav-links li:nth-child(5){animation-delay:.25s}.main-nav.open .nav-links li:nth-child(6){animation-delay:.3s}.main-nav.open .nav-links li:nth-child(7){animation-delay:.35s}.main-nav.open .nav-links li:nth-child(8){animation-delay:.4s}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.nav-links li{width:100%}.nav-links li a{border-bottom:1px solid var(--border-color);display:block;padding:1rem 2rem}.nav-links li a.active:after{display:none}}@media (max-width:768px){.menu-toggle{display:flex}.main-nav{background:#fff;box-shadow:-5px 0 20px #0000001a;height:100vh;position:fixed;right:-100%;top:0;transition:right .4s cubic-bezier(.4,0,.2,1);width:70%;z-index:999}.main-nav.open{right:0}.nav-links{flex-direction:column;gap:1.5rem;height:100%;padding:5rem 2rem 2rem}.nav-links li{animation:none;opacity:0;transform:translateX(20px)}.main-nav.open .nav-links li{animation:slideInRight .4s ease-out forwards}.main-nav.open .nav-links li:first-child{animation-delay:.1s}.main-nav.open .nav-links li:nth-child(2){animation-delay:.15s}.main-nav.open .nav-links li:nth-child(3){animation-delay:.2s}.main-nav.open .nav-links li:nth-child(4){animation-delay:.25s}.main-nav.open .nav-links li:nth-child(5){animation-delay:.3s}.main-nav.open .nav-links li:nth-child(6){animation-delay:.35s}.main-nav.open .nav-links li:nth-child(7){animation-delay:.4s}.main-nav.open .nav-links li:nth-child(8){animation-delay:.45s}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.nav-links li a{font-size:1.2rem;padding:.75rem 0}.header-actions{margin-left:1rem}body.dark-mode .main-nav{background:#1a202c}}.main-footer{background:var(--card-bg);border-top:1px solid var(--border-color);color:var(--text-color);margin-top:auto;padding:3rem 2rem 1rem}.footer-container{margin:0 auto;max-width:1200px}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:2fr 1fr 1fr;margin-bottom:2rem}.footer-section h3{font-size:1.5rem}.footer-section h3,.footer-section h4{color:var(--text-color);margin-bottom:1rem}.footer-section h4{font-size:1.2rem}.footer-section p{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.footer-social{display:flex;gap:1rem}.footer-social a{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;font-size:1.2rem;height:40px;justify-content:center;text-decoration:none;transition:transform .3s ease;width:40px}.footer-social a:hover{transform:translateY(-3px)}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:.75rem}.footer-section ul li a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.footer-section ul li a:hover{color:#667eea}.footer-section ul li i{color:#667eea;margin-right:.5rem;width:20px}.footer-bottom{border-top:1px solid var(--border-color);padding-top:2rem;text-align:center}.footer-bottom p{color:var(--text-secondary);font-size:.95rem}@media (max-width:968px){.footer-content{gap:2rem;grid-template-columns:1fr}}.hero-section{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.hero-section:before{background:radial-gradient(circle at 20% 50%,#ffffff1a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-container{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;position:relative;z-index:1}.hero-content{color:#fff}.hero-title{animation:fadeInUp .8s ease;font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.hero-title .highlight{color:gold;display:block}.hero-subtitle{animation:fadeInUp .8s ease .2s backwards;font-size:2rem;font-weight:400;margin-bottom:1.5rem;opacity:.95}.hero-description{animation:fadeInUp .8s ease .4s backwards;font-size:1.2rem;line-height:1.8;margin-bottom:2rem;opacity:.9}.hero-buttons{animation:fadeInUp .8s ease .6s backwards;display:flex;flex-wrap:wrap;gap:1rem}.hero-image{animation:fadeIn 1s ease .4s backwards}.hero-image,.profile-circle{align-items:center;display:flex;justify-content:center}.profile-circle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:5px solid #ffffff4d;border-radius:50%;box-shadow:0 10px 40px #0000004d;height:400px;overflow:hidden;position:relative;width:400px}.profile-photo{height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;width:100%}.profile-circle:hover .profile-photo{transform:scale(1.05)}.circle-placeholder{align-items:center;background:linear-gradient(135deg,#667eea4d,#764ba24d);display:flex;height:100%;justify-content:center;width:100%}.circle-placeholder i{color:#ffffff80;font-size:8rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.about-section{background:var(--bg-color);padding:6rem 2rem}.about-content{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:2fr 1fr;margin:0 auto;max-width:1200px}.about-text p{color:var(--text-color);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.stat-card{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:2rem;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-card h3{color:#667eea;font-size:2.5rem;margin-bottom:.5rem}.stat-card p{color:var(--text-secondary);font-size:1rem}.skills-section{background:var(--card-bg);padding:6rem 2rem}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px}.skill-card{background:var(--bg-color);border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:3rem 2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.skill-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-10px)}.skill-card i{color:#667eea;font-size:4rem;margin-bottom:1.5rem}.skill-card h3{color:var(--text-color);font-size:1.5rem;margin-bottom:.5rem}.skill-card p{color:var(--text-secondary)}.cta-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 2rem;text-align:center}.cta-section h2{font-size:2.5rem;margin-bottom:1rem}.cta-section p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.btn{border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:#fff;color:#667eea}.btn-primary:hover{background:#f0f0f0;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #fff;color:#fff}.btn-secondary:hover{background:#fff;color:#667eea;transform:translateY(-2px)}.section-title:after{bottom:-10px}@media (max-width:968px){.hero-container{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.5rem}.hero-buttons{justify-content:center}.profile-circle{height:300px;width:300px}.circle-placeholder i{font-size:6rem}.about-content{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.skills-grid,.stats-grid{grid-template-columns:1fr}.hero-title{font-size:2rem}.hero-title .highlight{display:inline}.profile-circle{height:250px;width:250px}.circle-placeholder i{font-size:5rem}}.services-page{min-height:100vh}.services-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 2rem 4rem;text-align:center}.page-title{font-size:3rem;font-weight:700;margin-bottom:1rem}.page-subtitle{font-size:1.3rem;margin:0 auto;max-width:600px;opacity:.9}.services-content{background:var(--bg-color);padding:4rem 2rem}.services-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:0 auto;max-width:1200px}.service-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px #0000001a;padding:2.5rem;transition:transform .3s ease,box-shadow .3s ease}.service-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-10px)}.service-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;display:flex;height:70px;justify-content:center;margin-bottom:1.5rem;width:70px}.service-icon i{color:#fff;font-size:2rem}.service-title{color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.service-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.service-features{list-style:none;padding:0}.service-features li{align-items:center;color:var(--text-secondary);display:flex;gap:.75rem;margin-bottom:.75rem}.service-features li i{color:#667eea;font-size:.9rem}.process-section{background:var(--card-bg);padding:4rem 2rem}.process-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px}.process-step{padding:2rem;text-align:center}.step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;margin:0 auto 1.5rem;width:60px}.process-step h3{color:var(--text-color);font-size:1.3rem;margin-bottom:.75rem}.process-step p{color:var(--text-secondary);line-height:1.6}@media (max-width:768px){.page-title{font-size:2rem}.page-subtitle{font-size:1.1rem}.process-grid,.services-grid{grid-template-columns:1fr}}.projects-page{min-height:100vh}.projects-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 2rem 4rem;text-align:center}.projects-content{background:var(--bg-color);padding:4rem 2rem}.filter-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.filter-btn{background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin:0 auto;max-width:1200px}.project-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-10px)}.project-image{height:250px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.1)}.project-overlay{align-items:center;background:#667eeae6;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-link{align-items:center;background:#fff;border-radius:50%;color:#667eea;display:flex;font-size:1.2rem;height:50px;justify-content:center;text-decoration:none;transition:transform .3s ease;width:50px}.project-link:hover{transform:scale(1.1)}.project-info{padding:2rem}.project-title{color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:.75rem}.project-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:#667eea1a;border-radius:6px;color:#667eea;font-size:.85rem;font-weight:500;padding:.4rem .8rem}.project-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.project-link-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.project-link-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.project-link-btn i{font-size:1rem}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.filter-buttons{gap:.5rem}.filter-btn{font-size:.9rem;padding:.6rem 1rem}}.companies-page{min-height:100vh}.companies-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 2rem 4rem;text-align:center}.timeline-section{background:var(--bg-color);padding:4rem 2rem}.timeline{margin:0 auto;max-width:900px;position:relative}.timeline:before{background:linear-gradient(180deg,#667eea,#764ba2);bottom:0;content:"";left:50px;position:absolute;top:0;width:3px}.timeline-item{margin-bottom:3rem;padding-left:120px;position:relative}.timeline-marker{background:linear-gradient(135deg,#667eea,#764ba2);border:4px solid var(--bg-color);border-radius:50%;height:25px;left:38px;position:absolute;top:0;width:25px;z-index:1}.timeline-content{position:relative}.company-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px #0000001a;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.company-card:hover{box-shadow:0 8px 24px #00000026;transform:translateX(10px)}.company-header{align-items:flex-start;display:flex;gap:1.5rem;margin-bottom:1.5rem}.company-logo{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:12px;display:flex;flex-shrink:0;height:80px;justify-content:center;overflow:hidden;width:80px}.company-logo img{height:100%;object-fit:cover;width:100%}.company-info{flex:1 1}.company-name{color:var(--text-color);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.company-role{color:#667eea;font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.company-period{align-items:center;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.5rem}.company-period i{color:#667eea}.company-description{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.company-technologies{display:flex;flex-wrap:wrap;gap:.5rem}.tech-badge{background:#667eea1a;border-radius:6px;color:#667eea;font-size:.85rem;font-weight:500;padding:.4rem .9rem}.skills-highlight{background:var(--card-bg);padding:4rem 2rem}.skills-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:900px}.skill-item{align-items:center;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease}.skill-item:hover{transform:translateX(10px)}.skill-item i{color:#667eea;font-size:1.5rem}.skill-item span{color:var(--text-color);font-size:1.05rem;font-weight:500}@media (max-width:768px){.timeline:before{left:20px}.timeline-item{padding-left:70px}.timeline-marker{left:8px}.company-header{align-items:center;flex-direction:column;text-align:center}.company-card:hover{transform:translateY(-5px)}.skills-list{grid-template-columns:1fr}}.course-page{min-height:100vh}.course-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 2rem 4rem;text-align:center}.courses-section{background:var(--bg-color);padding:4rem 2rem}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.course-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px #0000001a;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.course-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-10px)}.course-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;font-size:1.8rem;height:60px;justify-content:center;width:60px}.course-date{background:#667eea1a;border-radius:8px;color:#667eea;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.course-title{font-size:1.4rem;margin-bottom:.75rem}.course-institution{align-items:center;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.5rem;margin-bottom:1rem}.course-institution i{color:#667eea}.course-description{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.skill-tag{background:#667eea1a;border-radius:6px;color:#667eea;font-size:.85rem;font-weight:500;padding:.4rem .8rem}.certifications-section{background:var(--card-bg);padding:4rem 2rem}.section-title{color:var(--text-color);font-size:2.5rem;margin-bottom:3rem;padding-bottom:1rem;position:relative;text-align:center}.section-title:after{background:#667eea;border-radius:2px;bottom:0;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.certifications-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:900px}.certification-item{align-items:center;background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease}.certification-item:hover{transform:translateX(10px)}.certification-item i{color:#667eea;font-size:1.8rem}.certification-item span{color:var(--text-color);font-size:1.05rem;font-weight:500}.education-section{background:var(--bg-color);padding:4rem 2rem}.education-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px #0000001a;display:flex;gap:2rem;margin:0 auto;max-width:700px;padding:3rem}.education-icon{color:#fff;font-size:2.5rem}.education-content h3{color:var(--text-color);font-size:1.5rem;margin-bottom:.5rem}.education-content p{color:var(--text-secondary);line-height:1.6}@media (max-width:768px){.certifications-grid,.courses-grid{grid-template-columns:1fr}.education-card{flex-direction:column;text-align:center}}.education-page{min-height:100vh}.education-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 2rem 4rem;text-align:center}.formal-education-section{background:var(--bg-color);padding:4rem 2rem}.education-list{margin:0 auto;max-width:900px}.education-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px #0000001a;display:flex;gap:2rem;margin-bottom:2rem;padding:2.5rem;transition:transform .3s ease}.education-item:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-5px)}.education-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.education-icon i{color:#fff;font-size:2.5rem}.education-content{flex:1 1}.education-degree{color:var(--text-color);font-size:1.8rem;font-weight:600;margin-bottom:.75rem}.education-institution,.education-period{align-items:center;color:var(--text-secondary);display:flex;font-size:1rem;gap:.5rem;margin-bottom:.5rem}.education-institution i,.education-period i{color:#667eea;width:20px}.education-description{color:var(--text-secondary);line-height:1.7;margin:1rem 0}.education-achievements{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.education-achievements h4{color:var(--text-color);font-size:1.1rem;margin-bottom:1rem}.education-achievements ul{list-style:none;padding:0}.education-achievements li{align-items:center;color:var(--text-secondary);display:flex;gap:.75rem;margin-bottom:.75rem}.education-achievements li i{color:#667eea;font-size:.9rem}.online-courses-section{background:var(--card-bg);padding:4rem 2rem}.courses-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0 auto;max-width:1200px}.course-item{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.course-item:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-5px)}.course-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.course-header i{color:#667eea;font-size:2rem}.course-year{background:#667eea1a;border-radius:6px;color:#667eea;font-size:.9rem;font-weight:600;padding:.4rem .8rem}.course-title{color:var(--text-color);font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.course-platform{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.course-skills{display:flex;flex-wrap:wrap;gap:.5rem}.skill-badge{background:#667eea1a;border-radius:6px;color:#667eea;font-size:.85rem;font-weight:500;padding:.35rem .7rem}.skills-matrix-section{background:var(--bg-color);padding:4rem 2rem}.skills-matrix{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}.skill-group{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:transform .3s ease}.skill-group:hover{transform:translateY(-5px)}.skill-category{align-items:center;color:var(--text-color);display:flex;font-size:1.3rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.skill-category:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";height:24px;width:4px}.skill-items{display:flex;flex-wrap:wrap;gap:.75rem}.skill-item{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:.9rem;font-weight:500;padding:.6rem 1rem;transition:all .3s ease}.skill-item:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff;transform:translateY(-2px)}.learning-philosophy{background:var(--card-bg);padding:4rem 2rem}.philosophy-content{background:var(--bg-color);border:1px solid var(--border-color);border-radius:16px;margin:0 auto;max-width:800px;padding:3rem;text-align:center}.philosophy-content i{color:#667eea;font-size:4rem;margin-bottom:1.5rem}.philosophy-content h2{color:var(--text-color);font-size:2rem;margin-bottom:1.5rem}.philosophy-content p{color:var(--text-secondary);font-size:1.1rem;line-height:1.8}@media (max-width:768px){.education-item{flex-direction:column;text-align:center}.education-icon{margin:0 auto}.education-achievements li,.education-institution,.education-period{justify-content:center}.courses-grid,.skills-matrix{grid-template-columns:1fr}.philosophy-content{padding:2rem}}.contact-page{min-height:100vh}.contact-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6rem 2rem 4rem;text-align:center}.contact-content{background:var(--bg-color);padding:4rem 2rem}.contact-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1.5fr;margin:0 auto;max-width:1200px}.contact-info-side{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px #0000001a;height:-webkit-fit-content;height:fit-content;padding:2.5rem}.contact-info-side h2{color:var(--text-color);font-size:2rem;margin-bottom:1rem}.contact-intro{color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.contact-info-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.contact-info-item{align-items:flex-start;display:flex;gap:1rem}.info-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1.3rem;height:50px;justify-content:center;width:50px}.info-content h4{color:var(--text-color);font-size:1rem;font-weight:600;margin-bottom:.25rem}.info-content a,.info-content p{color:var(--text-secondary);font-size:.95rem;text-decoration:none}.info-content a:hover{color:#667eea}.social-links-section h3{color:var(--text-color);font-size:1.2rem;margin-bottom:1rem}.social-links{display:flex;gap:1rem}.social-links a{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;display:flex;font-size:1.2rem;height:45px;justify-content:center;text-decoration:none;transition:transform .3s ease;width:45px}.social-links a:hover{transform:translateY(-5px)}.contact-form-side{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px #0000001a;padding:2.5rem}.contact-form h2{color:var(--text-color);font-size:2rem;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-color);display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{background:var(--bg-color);border:2px solid var(--border-color);border-radius:10px;color:var(--text-color);font-family:inherit;font-size:1rem;padding:.9rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group textarea{min-height:150px;resize:vertical}.submit-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;justify-content:center;padding:1rem 2rem;transition:transform .3s ease,box-shadow .3s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7}.form-message{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:.75rem;margin-top:1rem;padding:1rem}.form-message.success{background:#4caf501a;border:1px solid #4caf50;color:#4caf50}.form-message.error{background:#f443361a;border:1px solid #f44336;color:#f44336}.form-message i{font-size:1.2rem}@media (max-width:968px){.contact-grid{grid-template-columns:1fr}.contact-info-side{order:2}.contact-form-side{order:1}}.login-page{align-items:center;background:linear-gradient(135deg,#0f172ad6,#14532da8),url(https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=80);background-position:50%;background-size:cover;display:flex;min-height:calc(100vh - 70px);padding:3rem 1rem}.login-shell{display:flex;justify-content:flex-end;margin:0 auto;max-width:1120px;width:100%}.login-panel{grid-gap:1.5rem;background:#fffffff5;border:1px solid #fff9;border-radius:8px;box-shadow:0 24px 70px #0f172a47;display:grid;gap:1.5rem;padding:2rem;width:min(100%,460px)}.login-kicker{color:#0f766e;display:block;font-size:.82rem;font-weight:700;letter-spacing:0;margin-bottom:.5rem;text-transform:uppercase}.login-panel h1{color:#10202f;font-size:2.1rem;line-height:1.1;margin-bottom:.75rem}.login-panel p{color:#475569}.login-form{grid-gap:1rem;display:grid;gap:1rem}.login-form label{grid-gap:.45rem;color:#1f2937;display:grid;font-weight:700;gap:.45rem}.login-form input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;font-size:1rem;padding:.9rem 1rem;width:100%}.login-form input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24;outline:none}.login-error{background:#fff1f0;border:1px solid #ffd1cc;border-radius:8px;color:#b42318;padding:.75rem .9rem}.login-submit{align-items:center;background:#0f766e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:.65rem;justify-content:center;padding:.95rem 1.1rem;transition:background .2s ease,transform .2s ease}.login-submit:disabled{cursor:wait;opacity:.72}.login-submit:hover{background:#115e59;transform:translateY(-1px)}body.dark-mode .login-panel{background:#0f172af5;border-color:#94a3b84d}body.dark-mode .login-form label,body.dark-mode .login-panel h1{color:#f8fafc}body.dark-mode .login-panel p{color:#cbd5e1}@media (max-width:640px){.login-page{align-items:flex-start;padding-top:2rem}.login-panel{padding:1.35rem}.login-panel h1{font-size:1.75rem}}.real-estate-page{background:#eef5f3;min-height:calc(100vh - 70px);padding:2rem 1rem 4rem}.real-estate-container{margin:0 auto;width:min(100%,1240px)}.real-estate-header{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.5rem}.dashboard-kicker{color:#0f766e;font-size:.82rem;font-weight:800;text-transform:uppercase}.real-estate-header h1{color:#10202f;font-size:2.35rem;line-height:1.1;margin:.3rem 0 .65rem}.real-estate-header p{color:#536171;max-width:720px}.refresh-button{align-items:center;background:#0f766e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:.55rem;padding:.85rem 1rem;white-space:nowrap}.refresh-button:disabled{cursor:wait;opacity:.72}.dashboard-alert{align-items:center;border-radius:8px;display:flex;gap:.7rem;margin-bottom:1rem;padding:.9rem 1rem}.error-alert{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.warning-alert{background:#fef3c7;border:1px solid #fde68a;color:#854d0e}.summary-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.summary-card{background:#fff;border:1px solid #dce7e4;border-radius:8px;padding:1rem}.summary-card span{color:#64748b;display:block;font-size:.9rem;margin-bottom:.45rem}.summary-card strong{color:#0f172a;display:block;font-size:1.45rem;line-height:1.2}.dashboard-toolbar{grid-gap:.85rem;background:#fff;border:1px solid #dce7e4;border-radius:8px;display:grid;gap:.85rem;grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(150px,.7fr));margin-bottom:1rem;padding:1rem}.dashboard-toolbar label{grid-gap:.4rem;color:#334155;display:grid;font-weight:800;gap:.4rem}.dashboard-toolbar input,.dashboard-toolbar select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;min-height:42px;padding:.7rem .8rem}.dashboard-toolbar input:focus,.dashboard-toolbar select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24;outline:none}.empty-state,.loading-state{align-items:center;background:#fff;border:1px solid #dce7e4;border-radius:8px;color:#475569;display:flex;gap:.7rem;justify-content:center;min-height:180px;padding:2rem}.listings-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.listing-card{background:#fff;border:1px solid #dce7e4;border-radius:8px;display:grid;grid-template-columns:190px 1fr;min-height:255px;overflow:hidden}.listing-image{align-items:center;background:#dbeafe;color:#0f766e;display:flex;justify-content:center;min-height:100%}.listing-image img{height:100%;object-fit:cover;width:100%}.listing-image i{font-size:2.5rem}.listing-body{grid-gap:.75rem;display:grid;gap:.75rem;padding:1rem}.listing-heading span{color:#0f766e;display:block;font-size:.82rem;font-weight:800;margin-bottom:.25rem}.listing-heading h2{color:#10202f;font-size:1.08rem;line-height:1.25}.listing-price-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:.6rem}.listing-price-row strong{color:#be123c;font-size:1.35rem}.listing-price-row span{color:#64748b;font-weight:700}.listing-facts{display:flex;flex-wrap:wrap;gap:.45rem}.listing-facts span{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;display:inline-flex;font-size:.9rem;font-weight:700;gap:.4rem;padding:.42rem .55rem}.listing-body p{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#526174;display:-webkit-box;font-size:.92rem;line-height:1.5;overflow:hidden}.listing-footer{align-items:center;border-top:1px solid #edf2f7;display:flex;gap:.75rem;justify-content:space-between;padding-top:.75rem}.listing-footer span{color:#64748b;font-weight:800}.listing-footer a{align-items:center;color:#0f766e;display:inline-flex;font-weight:900;gap:.45rem;text-decoration:none;white-space:nowrap}.source-errors{background:#fff;border:1px solid #dce7e4;border-radius:8px;margin-top:1rem;padding:1rem}.source-errors h2{color:#10202f;font-size:1rem;margin-bottom:.5rem}.source-errors p{color:#64748b}body.dark-mode .real-estate-page{background:#111827}body.dark-mode .listing-heading h2,body.dark-mode .real-estate-header h1,body.dark-mode .source-errors h2,body.dark-mode .summary-card strong{color:#f8fafc}body.dark-mode .listing-body p,body.dark-mode .real-estate-header p,body.dark-mode .source-errors p{color:#cbd5e1}body.dark-mode .dashboard-toolbar,body.dark-mode .empty-state,body.dark-mode .listing-card,body.dark-mode .loading-state,body.dark-mode .source-errors,body.dark-mode .summary-card{background:#1f2937;border-color:#374151}body.dark-mode .dashboard-toolbar label,body.dark-mode .listing-facts span{color:#e5e7eb}body.dark-mode .dashboard-toolbar input,body.dark-mode .dashboard-toolbar select,body.dark-mode .listing-facts span{background:#111827;border-color:#4b5563;color:#f8fafc}body.dark-mode .listing-footer{border-top-color:#374151}@media (max-width:980px){.dashboard-toolbar,.listings-grid,.summary-grid{grid-template-columns:1fr 1fr}}@media (max-width:720px){.real-estate-header{display:grid}.dashboard-toolbar,.listing-card,.listings-grid,.summary-grid{grid-template-columns:1fr}.listing-image{aspect-ratio:16/9}.refresh-button{justify-content:center;width:100%}}
/*# sourceMappingURL=main.e671f3b8.css.map*/