:root{--porto-primary:#0056b3;--porto-secondary:#007bff;--porto-accent:#ffc107;--porto-dark:#212529;--porto-light:#f8f9fa;--porto-white:#ffffff;--porto-purple:#775ba3;--porto-font-sans:"Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}#page-porto{font-family:var(--porto-font-sans);background-color:var(--porto-light);color:var(--porto-dark)}.container-porto{width:90%;max-width:1200px;margin:0 auto;padding:0 15px}.hero-section-porto{background:linear-gradient(135deg,#775ba3,#c75d9d,#775ba3);color:var(--porto-white);padding:80px 0;position:relative;display:flex;align-items:center;min-height:60vh;border-radius:0 0 20px 20px}.hero-grid-porto{display:flex;align-items:center;gap:40px;width:100%}.hero-content-porto{flex:1.2;text-align:left;z-index:2}.hero-content-porto h1{font-size:clamp(2.2rem, 4vw, 3.2rem);font-weight:800;line-height:1.2;margin-top:20px;margin-bottom:20px}.hero-highlight-text-porto{display:block;background:linear-gradient(90deg,var(--porto-accent),#ffd700);-webkit-background-clip:text;-webkit-text-fill-color:#fff0}.hero-subtitle-porto{font-size:clamp(0.95rem, 1.5vw, 1.05rem);line-height:1.7;opacity:.9;max-width:600px}.hero-cta-buttons-porto{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px}.btn-porto{display:inline-block;padding:12px 28px;font-size:.95rem;font-weight:700;text-align:center;text-decoration:none;border-radius:8px;cursor:pointer;transition:all 0.3s ease;border:2px solid #fff0}.btn-primary-porto{background-color:var(--porto-accent);color:var(--porto-dark);box-shadow:0 4px 15px rgb(255 193 7 / .4)}.btn-primary-porto:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgb(255 193 7 / .6)}.btn-secondary-porto{background-color:#fff0;color:var(--porto-white);border-color:var(--porto-white)}.btn-secondary-porto:hover{background-color:var(--porto-white);color:var(--porto-primary)}@media (max-width:992px){.hero-cta-buttons-porto{justify-content:center}}.hero-image-wrapper-porto{flex:1;display:flex;align-items:center;justify-content:center}.hero-main-image-porto{max-width:100%;height:auto;max-height:60vh;object-fit:contain}.main-container-porto{display:flex;width:90%;margin:60px auto;gap:40px;max-width:1200px}.sidebar-porto{flex:0 0 250px;position:sticky;top:120px;align-self:flex-start;height:calc(100vh - 140px)}.content-porto{flex:1;min-width:0}.section-porto{padding:20px 0}.side-nav-porto{height:100%}.sidebar-title-porto{font-size:1.2rem;font-weight:700;color:var(--porto-dark);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--porto-purple)}.sidebar-loading-porto{font-style:italic;opacity:.7}#portfolio-list-porto{list-style:none;padding:0;margin:0}#portfolio-list-porto a{display:block;padding:12px 20px;text-decoration:none;color:var(--porto-dark);font-weight:700;border-radius:8px;margin-bottom:10px;position:relative;transition:all 0.3s ease;border:1px solid #fff0}#portfolio-list-porto a:hover{background-color:#e9e5f3;border-color:var(--porto-purple)}#portfolio-list-porto a.active{background-color:var(--porto-purple);color:var(--porto-white);box-shadow:0 4px 15px rgb(119 91 163 / .4);transform:translateX(5px)}.portfolio-placeholder-porto{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:400px;border:2px dashed #ccc;border-radius:15px;color:#888}.portfolio-placeholder-porto svg{margin-bottom:20px;stroke:#aaa}.portfolio-placeholder-porto h3{margin-bottom:10px}.porto-carousel-wrapper-porto{position:relative;max-width:100%;margin:0 auto;overflow:hidden;border-radius:20px}.porto-carousel-container-porto{display:flex;width:300%;transition:transform 0.8s cubic-bezier(.65,0,.35,1)}.porto-card-porto{width:33.333%;flex-shrink:0;box-sizing:border-box;padding:20px}.porto-card-content-porto{background-color:var(--porto-white);border-radius:15px;padding:30px;box-shadow:0 10px 30px rgb(0 0 0 / .07);text-align:center;height:100%}.porto-card-content-porto h2{font-size:clamp(1.1rem, 2.5vw, 1.3rem);line-height:1.5;margin-top:0;margin-bottom:25px;min-height:80px;display:flex;align-items:center;justify-content:center}.porto-card-content-porto a{color:var(--porto-purple);text-decoration:none;border-bottom:2px solid var(--porto-accent)}.porto-card-content-porto img{max-width:100%;height:auto;border-radius:10px;border:1px solid #eee;box-shadow:0 5px 15px rgb(0 0 0 / .1)}.porto-carousel-nav-porto{position:absolute;top:50%;transform:translateY(-50%);background-color:rgb(30 30 30 / .6);color:var(--porto-white);border:none;border-radius:50%;width:50px;height:50px;font-size:1.5rem;cursor:pointer;z-index:10;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center}.porto-carousel-nav-porto:hover{background-color:var(--porto-purple);transform:translateY(-50%) scale(1.1)}.porto-carousel-nav-porto.prev{left:20px}.porto-carousel-nav-porto.next{right:20px}.whatsapp-chat-button{position:fixed;right:20px;bottom:20px;z-index:9999;transition:transform 0.3s ease,box-shadow 0.3s ease}.whatsapp-chat-button img{width:120px;height:auto}.whatsapp-chat-button:hover{transform:scale(1.1)}@media (max-width:768px){.whatsapp-chat-button{right:15px;bottom:25px}.whatsapp-chat-button img{width:50px}}@media (max-width:992px){.main-container-porto{flex-direction:column}.sidebar-porto{position:static;height:auto;margin-bottom:40px}.side-nav-porto{max-height:300px}.hero-grid-porto{flex-direction:column;text-align:center}}html.dark-mode #page-porto{background-color:#1a1822;color:var(--porto-light)}html.dark-mode .sidebar-title-porto{color:var(--porto-light);border-bottom-color:var(--porto-purple)}html.dark-mode #portfolio-list-porto a{color:var(--porto-light)}html.dark-mode #portfolio-list-porto a:hover{background-color:#2a2734;border-color:var(--porto-purple)}html.dark-mode #portfolio-list-porto a.active{background-color:var(--porto-purple);color:var(--porto-white)}html.dark-mode .portfolio-placeholder-porto{border-color:#444;color:#666}html.dark-mode .portfolio-placeholder-porto svg{stroke:#555}html.dark-mode .porto-card-content-porto{background-color:#2a2734;box-shadow:0 10px 30px rgb(0 0 0 / .2)}html.dark-mode .porto-card-content-porto h2{color:var(--porto-accent)}html.dark-mode .porto-card-content-porto img{border-color:#444}html.dark-mode .porto-card-content-porto a{color:var(--porto-accent)}