:root{--color-bg-deep: radial-gradient(circle at center, #1b1310 0%, #090605 100%);--color-bg-card: #17110f;--color-bg-hover: #241c19;--color-terracotta: #b85233;--color-terracotta-dark: #8c3b23;--color-gold: #d4af37;--color-gold-hover: #f1c40f;--color-text-white: #f5f2eb;--color-text-muted: #a6a095;--color-text-dark: #1e1b15;--border-gold-glow: rgba(212, 175, 55, .15);--border-white-glow: rgba(255, 255, 255, .08);--font-heading: "Outfit", -apple-system, sans-serif;--font-body: "Playfair Display", Georgia, serif;--font-ui: "Outfit", sans-serif;--transition-smooth: all .4s cubic-bezier(.16, 1, .3, 1);--transition-fast: all .2s ease;--sidebar-width: 420px;--border-radius-lg: 20px;--border-radius-md: 12px;--border-radius-sm: 8px}*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth}body{background:var(--color-bg-deep);background-attachment:fixed;color:var(--color-text-white);font-family:var(--font-heading);overflow-x:hidden;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;letter-spacing:-.01em}p{font-family:var(--font-body)}a{text-decoration:none;color:inherit;transition:var(--transition-fast)}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none;outline:none;transition:var(--transition-smooth)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-deep)}::-webkit-scrollbar-thumb{background:var(--color-bg-card);border:1px solid var(--border-gold-glow);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-terracotta)}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--color-bg-deep);z-index:10000;display:flex;align-items:center;justify-content:center;transition:transform .8s cubic-bezier(.77,0,.175,1)}.loading-screen.loaded{transform:translateY(-100%)}.intro-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:10005;display:flex;justify-content:center;align-items:center;overflow:hidden;opacity:1;transition:opacity .8s cubic-bezier(.25,1,.5,1)}.intro-overlay.fade-out{opacity:0;pointer-events:none}.intro-overlay video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.5s cubic-bezier(.25,1,.5,1)}.intro-overlay.playing video{transform:scale(1)}.intro-controls{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.intro-mute-container{position:absolute;bottom:40px;left:40px;pointer-events:auto}.intro-skip-container{position:absolute;top:40px;right:40px;pointer-events:auto}.intro-control-btn,.intro-skip-btn{pointer-events:auto;background:#09060599;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(214,175,55,.35);color:var(--color-text-white);border-radius:50px;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition-smooth);box-shadow:0 8px 32px #00000080;font-family:var(--font-ui)}.intro-control-btn{width:48px;height:48px}.intro-skip-btn{padding:12px 24px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;gap:8px}.intro-skip-btn:hover{background:#d6af3740;border-color:var(--color-gold);transform:translateY(-2px);box-shadow:0 0 20px #d6af3766}.intro-control-btn:hover{background:#d6af3740;border-color:var(--color-gold);transform:scale(1.08)}.loader-content{text-align:center}.loader-sun{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,var(--color-gold) 30%,transparent 70%);margin:0 auto 20px;box-shadow:0 0 40px var(--color-gold);animation:rotate-sun 8s linear infinite;position:relative}.loader-sun:after{content:"";position:absolute;inset:-10px;border:2px dashed var(--color-gold);border-radius:50%;opacity:.5}@keyframes rotate-sun{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.loader-content h2{font-size:1.8rem;letter-spacing:.15em;color:var(--color-text-white);margin-bottom:5px}.loader-content p{font-size:.95rem;color:var(--color-text-muted);font-style:italic;margin-bottom:20px}.loader-bar-bg{width:200px;height:4px;background:#ffffff0d;border-radius:2px;overflow:hidden;margin:0 auto}.loader-bar-fill{width:0%;height:100%;background:linear-gradient(90deg,var(--color-terracotta),var(--color-gold));transition:width .2s ease}.navbar{position:fixed;top:24px;left:50%;transform:translate(-50%);width:calc(100% - 48px);max-width:900px;z-index:1000;padding:8px 24px;background:#17110fb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:40px;display:flex;align-items:center;justify-content:space-between;transition:var(--transition-smooth);box-shadow:0 10px 30px #00000080}.navbar.scrolled{top:15px;padding:8px 24px;background:#090605e6;border-color:var(--color-gold);box-shadow:0 10px 30px #d4af371a}.nav-container{width:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.15rem;letter-spacing:.05em;color:var(--color-text-white)}.logo-img{height:38px;width:auto;object-fit:contain;transition:var(--transition-smooth);filter:brightness(0) invert(1)}.nav-logo:hover .logo-img{transform:scale(1.05);filter:brightness(0) invert(1) drop-shadow(0 0 10px rgba(212,175,55,.6))}.logo-sun{color:var(--color-gold);font-size:1.5rem;animation:pulse-sun 3s ease-in-out infinite}@keyframes pulse-sun{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1;filter:drop-shadow(0 0 5px var(--color-gold))}}.nav-menu{display:flex;gap:5px;background:#00000026;padding:4px;border-radius:30px;border:1px solid rgba(255,255,255,.03)}.nav-link{font-family:var(--font-ui);font-weight:600;font-size:.8rem;color:var(--color-text-muted);padding:8px 18px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;transition:var(--transition-smooth)}.nav-link:hover{color:var(--color-text-white);background:#ffffff0d}.nav-link.active{color:var(--color-text-dark)!important;background:var(--color-text-white)!important;box-shadow:0 4px 10px #ffffff1a}.nav-actions{display:flex;align-items:center;gap:12px}.cart-btn{position:relative;padding:10px;border-radius:50%;background:var(--color-bg-card);border:1px solid var(--border-white-glow);display:flex;align-items:center;justify-content:center}.cart-btn:hover{border-color:var(--color-gold);transform:translateY(-2px);box-shadow:0 4px 15px #d4af3726}.cart-icon{font-size:1.2rem}.cart-badge{position:absolute;top:-5px;right:-5px;background:var(--color-terracotta);color:#fff;font-size:.75rem;font-weight:800;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-bg-deep)}.admin-nav-btn{position:relative;padding:10px;border-radius:50%;background:var(--color-bg-card);border:1px solid var(--border-white-glow);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.admin-nav-btn:hover{border-color:var(--color-gold);color:var(--color-gold);transform:translateY(-2px);box-shadow:0 4px 15px #d4af3726}.ruta-timeline-indicator{display:none!important;position:fixed;right:30px;top:50%;transform:translateY(-50%);z-index:900;flex-direction:column;gap:20px;align-items:center}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#fff3;border:2px solid transparent;cursor:pointer;position:relative;transition:var(--transition-smooth)}.timeline-dot:hover,.timeline-dot.active{background:var(--color-gold);border-color:var(--color-bg-deep);transform:scale(1.3);box-shadow:0 0 10px var(--color-gold)}.timeline-dot:before{content:attr(data-tooltip);position:absolute;right:25px;top:50%;transform:translateY(-50%);background:var(--color-bg-card);border:1px solid var(--border-gold-glow);color:var(--color-text-white);padding:4px 8px;font-size:.75rem;font-weight:600;border-radius:var(--border-radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition-fast)}.timeline-dot:hover:before{opacity:1;right:30px}.hero{position:relative;min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:110px 24px 40px;background:radial-gradient(circle at center,#92979e,#4c5056 60%,#1e2022);transition:background .8s ease}.hero-bg-pattern{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h10v10H0V0zm10 10h10v10H10V10zm10 10h10v10H20V20zm10 10h10v10H30V30zM0 30h10v10H0V30zm10-10h10v10H10V20zm20-20h10v10H30V0zm10 10h10v10H40V10zm10 10h10v10H50V20zm10 10h10v10H60V30z' fill='%23ffffff' fill-opacity='0.008' fill-rule='evenodd'/%3E");opacity:.6;pointer-events:none;z-index:1}.hero-canvas-3d{position:absolute;top:0;left:0;width:100%!important;height:100%!important;z-index:2;pointer-events:auto}.hero-studio-container{position:relative;z-index:10;width:100%;max-width:1300px;height:100%;min-height:80vh;display:grid;grid-template-columns:350px 1fr 320px;gap:20px;align-items:center;pointer-events:none}.hero-studio-left{display:flex;flex-direction:column;align-items:flex-start;text-align:left;pointer-events:auto}.hero-badge-cultural{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;background:#ffffff0d;padding:6px 12px;border-radius:30px;border:1px solid rgba(255,255,255,.08)}.badge-diamond{width:6px;height:6px;background:var(--color-gold);transform:rotate(45deg);box-shadow:0 0 6px var(--color-gold)}.badge-text{font-family:var(--font-ui);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--color-gold)}.hero-studio-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.1;color:var(--color-text-white);margin-bottom:20px;letter-spacing:-.02em}.hero-studio-title .highlight{background:linear-gradient(135deg,var(--color-gold-hover) 30%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.hero-studio-desc{font-family:var(--font-body);font-size:.95rem;color:#ffffffb3;line-height:1.7;margin-bottom:35px;max-width:320px}.hero-studio-actions{margin-bottom:40px}.btn-studio-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;border-radius:30px;font-family:var(--font-ui);font-weight:700;font-size:.9rem;letter-spacing:.02em;transition:var(--transition-smooth)}.btn-primary-studio{background:var(--color-text-white);color:var(--color-text-dark);box-shadow:0 10px 20px #00000026}.btn-primary-studio:hover{transform:translateY(-2px);box-shadow:0 12px 25px #fff3;background:#fff}.btn-primary-studio .arrow{transition:transform .3s ease}.btn-primary-studio:hover .arrow{transform:translate(4px)}.hero-studio-socials{display:flex;gap:16px;margin-top:auto}.social-link-studio{color:#fff6;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.social-link-studio:hover{color:var(--color-gold);transform:scale(1.15)}.social-link-studio svg{width:18px;height:18px}.hero-studio-center{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;padding-bottom:20px;min-height:450px}.hero-model-legend{font-family:var(--font-ui);font-size:.75rem;font-weight:700;color:#ffffff80;background:#00000040;padding:6px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.05);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(5px)}.hero-studio-right{display:flex;flex-direction:column;align-items:flex-end;text-align:right;pointer-events:auto;gap:30px}.product-price-studio{display:flex;flex-direction:column;align-items:flex-end}.price-original{font-family:var(--font-ui);font-size:1.1rem;color:#ffffff59;text-decoration:line-through;font-weight:500;line-height:1;margin-bottom:4px}.price-discount{font-family:var(--font-ui);font-size:2.2rem;color:var(--color-text-white);font-weight:800;line-height:1}.material-selector-studio{width:100%;display:flex;flex-direction:column;align-items:flex-end}.selector-title{font-family:var(--font-ui);font-size:.75rem;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.selector-pills{display:flex;flex-direction:column;gap:8px;width:180px}.btn-material-studio{padding:10px 16px;border-radius:25px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:#fff9;font-family:var(--font-ui);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;width:100%;text-align:center;transition:var(--transition-smooth)}.btn-material-studio:hover{background:#ffffff0f;color:var(--color-text-white);border-color:#ffffff26}.btn-material-studio.active{background:var(--color-text-white);color:var(--color-text-dark);border-color:var(--color-text-white);box-shadow:0 4px 12px #ffffff26}.product-specs-studio{width:100%;display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(255,255,255,.06);padding-top:20px;max-width:220px}.spec-item-studio{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.spec-label{color:#ffffff59;font-family:var(--font-ui);font-weight:500}.spec-value{color:var(--color-text-white);font-family:var(--font-ui);font-weight:600}.hero-studio-region-badge{display:flex;flex-direction:column;align-items:flex-end;margin-top:auto}.region-title-small{font-family:var(--font-ui);font-size:.65rem;font-weight:700;color:var(--color-gold);text-transform:uppercase;letter-spacing:.2em;margin-bottom:2px}.region-name-large{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;color:var(--color-text-white);letter-spacing:-.01em}.scroll-hint-studio{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.4;z-index:10;animation:fade-pulse 2s ease-in-out infinite;pointer-events:none}.scroll-hint-studio span{font-family:var(--font-ui);font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-white)}.scroll-arrow-studio{font-size:1rem;color:var(--color-text-white);animation:bounce-arrow 1.5s ease-in-out infinite}@keyframes fade-pulse{0%,to{opacity:.35}50%{opacity:.7}}@keyframes bounce-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (max-width: 1024px){.hero-studio-container{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding-top:40px;min-height:85vh;gap:30px}.hero-studio-left{align-items:center;text-align:center}.hero-studio-left .hero-studio-desc{max-width:450px}.hero-studio-center{min-height:300px;justify-content:center;padding-bottom:0}.hero-studio-right{align-items:center;text-align:center;flex-direction:row;justify-content:space-between;width:100%;gap:15px}.product-price-studio,.material-selector-studio,.hero-studio-region-badge{align-items:center;text-align:center}.selector-pills{flex-direction:row;width:auto}.product-specs-studio{display:none}}.section-container{max-width:1200px;margin:0 auto;padding:0 24px}.section-tag{display:inline-block;color:var(--color-gold);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;margin-bottom:12px}.section-title{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:16px;font-weight:800}.section-description{font-size:clamp(1rem,1.8vw,1.15rem);color:var(--color-text-muted);max-width:650px;margin-bottom:50px}.ruta-intro{padding:120px 0 60px;text-align:center;background:linear-gradient(to bottom,var(--color-bg-deep),#0c0c10)}.ruta-intro .section-description{margin-left:auto;margin-right:auto}.region-section{padding:100px 0;min-height:90vh;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.02);position:relative;background:#0c0c10}.region-section:nth-child(odd){background:#0e0e14}.region-container{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;width:100%}.region-section.alt-layout .region-container{grid-template-columns:1.1fr 1fr}.region-section.alt-layout .region-info{grid-column:2}.region-section.alt-layout .region-viewer{grid-column:1;grid-row:1}.region-info{z-index:10;opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease}.region-info.visible{opacity:1;transform:translateY(0)}.region-badge{display:inline-block;padding:4px 10px;border-radius:50px;background:#d4af371a;border:1px solid var(--border-gold-glow);color:var(--color-gold);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}.region-city{font-size:clamp(2rem,5vw,3.5rem);text-transform:uppercase;color:var(--color-text-white);line-height:1.1;margin-bottom:5px}.region-craft-title{font-family:var(--font-body);font-size:clamp(1.2rem,2.5vw,1.8rem);font-style:italic;font-weight:400;color:var(--color-terracotta);margin-bottom:24px}.region-text{font-size:1.05rem;color:var(--color-text-muted);margin-bottom:30px;line-height:1.7}.region-meta{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid rgba(255,255,255,.05);padding-top:20px}.meta-item{font-family:var(--font-ui);font-size:.85rem;font-weight:600;color:var(--color-text-white);display:flex;align-items:center;gap:8px}.region-viewer{position:relative;width:100%;opacity:0;transform:scale(.9);transition:opacity 1.2s ease,transform 1.2s ease}.region-viewer.visible{opacity:1;transform:scale(1)}.canvas-3d-wrapper{position:relative;width:100%;height:480px;border-radius:var(--border-radius-lg);background:#ffffff03;border:1px solid var(--border-white-glow);overflow:hidden;box-shadow:inset 0 0 30px #00000080;transition:var(--transition-smooth)}.canvas-3d-wrapper:hover{border-color:var(--border-gold-glow);box-shadow:0 10px 40px #00000080,inset 0 0 30px #0000004d}.region-canvas{width:100%!important;height:100%!important;display:block;cursor:grab}.region-canvas:active{cursor:grabbing}.viewer-instructions{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-size:.7rem;color:var(--color-text-muted);letter-spacing:.05em;pointer-events:none;background:#08080a99;padding:4px 12px;border-radius:50px;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.05)}.region-controls{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:5}.btn-material{padding:6px 12px;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:700;color:var(--color-text-muted);background:#121217cc;border:1px solid rgba(255,255,255,.05);backdrop-filter:blur(4px)}.btn-material:hover,.btn-material.active{color:var(--color-text-white);background:var(--color-terracotta);border-color:var(--color-terracotta);box-shadow:0 4px 10px #b852334d}.catalogo-section{padding:120px 0;background:linear-gradient(to bottom,#0e0e14,var(--color-bg-deep))}.catalogo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:35px}.product-card{background:linear-gradient(135deg,#17110fb3,#0c0807e6);backdrop-filter:blur(10px);border:1px solid var(--border-white-glow);border-radius:var(--border-radius-lg);overflow:hidden;transition:var(--transition-smooth);display:flex;flex-direction:column;position:relative}.product-card:hover{transform:translateY(-10px);border-color:var(--color-gold);box-shadow:0 15px 35px #d4af371f,0 5px 15px #00000080}.product-visual{position:relative;width:100%;height:260px;background:#0006;border-bottom:1px solid var(--border-white-glow);overflow:hidden}.product-image-2d{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.product-card:hover .product-image-2d{transform:scale(1.08)}.product-badge{position:absolute;top:15px;left:15px;padding:4px 10px;font-size:.65rem;font-weight:800;text-transform:uppercase;background:#d4af37e6;backdrop-filter:blur(4px);color:var(--color-text-dark);border-radius:var(--border-radius-sm);letter-spacing:.08em;pointer-events:none;box-shadow:0 4px 10px #0000004d;z-index:2}.product-details{padding:24px;display:flex;flex-direction:column;flex-grow:1}.product-details h3{font-size:1.15rem;margin-bottom:8px;font-weight:700;line-height:1.35;color:var(--color-text-white);min-height:46px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:var(--transition-fast)}.product-card:hover .product-details h3{color:var(--color-gold-hover)}.product-artisan{font-family:var(--font-body);font-style:italic;font-size:.85rem;color:var(--color-text-muted);margin-bottom:24px;display:block}.product-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid rgba(255,255,255,.03);padding-top:16px}.product-price{font-family:var(--font-ui);font-size:1.3rem;font-weight:800;color:var(--color-gold);text-shadow:0 2px 4px rgba(0,0,0,.5)}.btn-view-product{padding:10px 18px;border-radius:var(--border-radius-md);font-size:.8rem;font-weight:700;color:var(--color-text-white);border:1px solid var(--border-white-glow);background:#ffffff08;display:flex;align-items:center;gap:6px}.btn-view-product:hover{background:linear-gradient(135deg,var(--color-gold),#b8860b);color:var(--color-text-dark);border-color:var(--color-gold);box-shadow:0 6px 15px #d4af3740}.btn-studio-product{padding:10px 18px;border-radius:var(--border-radius-md);font-size:.8rem;font-weight:700;color:var(--color-text-dark);border:1px solid var(--color-gold);background:var(--color-gold);display:flex;align-items:center;gap:6px;transition:var(--transition-fast)}.btn-studio-product:hover{background:linear-gradient(135deg,var(--color-gold-hover),var(--color-gold));box-shadow:0 6px 15px #d4af3766;transform:translateY(-2px)}.catalogo-filters-container{display:flex;justify-content:center;margin-bottom:45px;width:100%}.catalogo-filters{display:flex;gap:12px;background:#120e0d99;padding:8px;border-radius:50px;border:1px solid var(--border-white-glow);backdrop-filter:blur(8px);overflow-x:auto;scrollbar-width:none}.catalogo-filters::-webkit-scrollbar{display:none}.filter-btn{padding:10px 20px;border-radius:50px;font-size:.85rem;font-weight:600;color:var(--color-text-muted);background:transparent;border:1px solid transparent;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:var(--transition-smooth)}.filter-dot{width:6px;height:6px;border-radius:50%;background:transparent;transition:var(--transition-fast)}.filter-btn:hover{color:var(--color-text-white);background:#ffffff08}.filter-btn.active{color:var(--color-text-dark);background:var(--color-gold);font-weight:700;box-shadow:0 4px 15px #d4af374d}.filter-btn.active .filter-dot{background:var(--color-text-dark)}.product-card-skeleton{background:#17110f66;border:1px solid rgba(255,255,255,.03);border-radius:var(--border-radius-lg);overflow:hidden;height:430px;display:flex;flex-direction:column}.skeleton-image{width:100%;height:260px;background:linear-gradient(90deg,#1f1816 25%,#2d221f,#1f1816 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}.skeleton-info{padding:24px;display:flex;flex-direction:column;flex-grow:1;gap:12px}.skeleton-text{background:linear-gradient(90deg,#1f1816 25%,#2d221f,#1f1816 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite;border-radius:4px}.skeleton-text.title{height:20px;width:85%}.skeleton-text.artisan{height:14px;width:60%}.skeleton-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid rgba(255,255,255,.02);padding-top:16px}.skeleton-text.price{height:22px;width:35%}.skeleton-button{height:36px;width:40%;background:linear-gradient(90deg,#1f1816 25%,#2d221f,#1f1816 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite;border-radius:var(--border-radius-md)}@keyframes loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-image-zoom-container{width:100%;height:100%;min-height:380px;overflow:hidden;position:relative;cursor:zoom-in;background:#050505;display:flex;align-items:center;justify-content:center}.modal-product-image-2d{width:100%;height:100%;object-fit:contain;transform-origin:center center;transition:transform .1s ease-out}.modal-price-container{display:flex;flex-direction:column;gap:2px}.price-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.mapa-section{padding:100px 24px;background:radial-gradient(circle at bottom right,#8c3b2314,#08080a00 65%);border-top:1px solid rgba(255,255,255,.02)}.mapa-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.map-wrapper{position:relative;width:100%;max-width:520px;margin:20px auto 0;height:550px}.peru-leaflet-map{width:100%;height:100%;background:transparent!important;border:1px solid var(--border-gold-glow);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:0 12px 30px #00000080}.leaflet-container{background-color:transparent!important;font-family:var(--font-ui)!important}.leaflet-control-attribution{display:none!important}.leaflet-bar{border:1px solid var(--border-gold-glow)!important;box-shadow:0 4px 10px #0000004d!important}.leaflet-bar a{background-color:var(--color-bg-card)!important;color:var(--color-text-white)!important;border-bottom:1px solid var(--border-white-glow)!important;transition:var(--transition-fast)!important}.leaflet-bar a:hover{background-color:var(--color-bg-hover)!important;color:var(--color-gold)!important}.department-polygon{fill:#221a17;fill-opacity:.85;stroke:#b85233;stroke-width:1.2px;stroke-opacity:.5;transition:all .3s cubic-bezier(.16,1,.3,1)}.department-polygon.region-active{fill:#4c2c22;stroke:var(--color-gold);stroke-width:1.5px;stroke-opacity:.85}.department-polygon:hover{fill:#6e3624!important;fill-opacity:.95!important;stroke:var(--color-gold-hover)!important;stroke-width:2.2px!important;stroke-opacity:1!important;cursor:pointer}.map-controls-floating{position:absolute;bottom:20px;left:20px;z-index:1000;display:flex;gap:8px}.map-control-btn{padding:8px 14px;background:var(--color-bg-card);border:1px solid var(--border-gold-glow);color:var(--color-text-white);font-family:var(--font-ui);font-size:.75rem;font-weight:700;border-radius:var(--border-radius-sm);box-shadow:0 4px 10px #0006;backdrop-filter:blur(8px);transition:var(--transition-smooth);cursor:pointer}.map-control-btn:hover{background:var(--color-gold);color:var(--color-text-dark);border-color:var(--color-gold);box-shadow:0 4px 15px #d4af374d}.leaflet-tooltip-pe{background:var(--color-bg-card)!important;border:1px solid var(--color-gold)!important;color:var(--color-text-white)!important;font-weight:700!important;font-family:var(--font-ui)!important;padding:4px 8px!important;border-radius:4px!important;box-shadow:0 2px 8px #00000080!important;font-size:.75rem!important}.map-legend{position:absolute;bottom:20px;right:20px;z-index:1000;background:#121217d9;border:1px solid var(--border-gold-glow);border-radius:var(--border-radius-sm);padding:10px 14px;backdrop-filter:blur(8px);box-shadow:0 4px 15px #00000080;display:flex;flex-direction:column;gap:6px;pointer-events:none}.legend-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:800;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:4px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--color-text-white)}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.dot-3d{background:var(--color-gold);box-shadow:0 0 8px var(--color-gold)}.legend-dot.dot-doc{background:#b85233;box-shadow:0 0 8px #b85233}.culture-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.culture-panel-header .region-badge{margin-bottom:0}.ambient-sound-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:50px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);color:var(--color-text-muted);font-family:var(--font-ui);font-size:.72rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.ambient-sound-btn:hover{background:#d4af370d;border-color:var(--border-gold-glow);color:var(--color-gold)}.ambient-sound-btn.playing{background:#d4af371f;border-color:var(--color-gold);color:var(--color-gold);box-shadow:0 0 12px #d4af3726}.sound-wave{display:flex;align-items:flex-end;gap:2px;height:10px;width:12px}.sound-wave span{display:block;width:1.8px;background:currentColor;border-radius:1px;height:3px;transition:height .2s ease}.ambient-sound-btn.playing .sound-wave span:nth-child(1){animation:soundWavePlay .8s ease-in-out infinite alternate}.ambient-sound-btn.playing .sound-wave span:nth-child(2){animation:soundWavePlay .6s ease-in-out infinite alternate .15s}.ambient-sound-btn.playing .sound-wave span:nth-child(3){animation:soundWavePlay .9s ease-in-out infinite alternate .3s}.ambient-sound-btn.playing .sound-wave span:nth-child(4){animation:soundWavePlay .5s ease-in-out infinite alternate .05s}@keyframes soundWavePlay{0%{height:3px}to{height:10px}}.cult-3d-btn-wrapper{width:100%;animation:cultFadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes cultFadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.leaflet-div-icon{background:transparent!important;border:none!important}.map-pin{position:relative;width:16px;height:16px;padding:0;z-index:10}.pin-pulse{position:absolute;inset:-12px;border:2px solid var(--color-gold);border-radius:50%;animation:pulse-ring 1.8s cubic-bezier(.215,.61,.355,1) infinite;pointer-events:none}.pin-dot{width:12px;height:12px;background:var(--color-gold);border-radius:50%;border:2px solid #17110f;display:block;margin:2px;transition:var(--transition-fast)}.pin-label{position:absolute;top:50%;left:24px;transform:translateY(-50%);background:#121216d9;border:1px solid var(--border-gold-glow);color:var(--color-text-white);padding:4px 10px;font-size:.75rem;font-weight:700;border-radius:var(--border-radius-sm);white-space:nowrap;opacity:.8;backdrop-filter:blur(4px);transition:var(--transition-fast)}.map-pin:hover .pin-dot,.map-pin.active .pin-dot{background:var(--color-text-white);transform:scale(1.3);box-shadow:0 0 10px var(--color-gold)}.map-pin:hover .pin-label,.map-pin.active .pin-label{opacity:1;background:var(--color-gold);color:var(--color-text-dark);border-color:var(--color-gold);box-shadow:0 4px 10px #d4af3740}@keyframes pulse-ring{0%{transform:scale(.35);opacity:1}80%,to{transform:scale(1.2);opacity:0}}.culture-details-panel{background:var(--color-bg-card);border:1px solid var(--border-gold-glow);border-radius:var(--border-radius-lg);padding:40px;min-height:480px;box-shadow:0 12px 40px #0006;position:relative;display:flex;flex-direction:column;justify-content:center}.cult-tourist-spots-wrapper{margin-top:25px;animation:cultFadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}.tourist-spots-gallery{display:flex;gap:16px;overflow-x:auto;padding:10px 0;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-gold) rgba(255,255,255,.05)}.tourist-spots-gallery::-webkit-scrollbar{height:6px}.tourist-spots-gallery::-webkit-scrollbar-track{background:#ffffff05;border-radius:10px}.tourist-spots-gallery::-webkit-scrollbar-thumb{background:var(--color-gold);border-radius:10px}.tourist-spot-card{flex:0 0 280px;height:180px;border-radius:12px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 20px #0006;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.tourist-spot-card:hover{transform:translateY(-5px);border-color:var(--color-gold);box-shadow:0 12px 25px #d4af3733}.tourist-spot-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.tourist-spot-card:hover .tourist-spot-img{transform:scale(1.08)}.tourist-spot-overlay{position:absolute;inset:0;background:linear-gradient(to top,#0a0a0ef2,#0a0a0e80,#0a0a0e00);display:flex;flex-direction:column;justify-content:flex-end;padding:16px;transition:background .3s ease}.tourist-spot-card:hover .tourist-spot-overlay{background:linear-gradient(to top,#0a0a0efa,#0a0a0e99 40%,#0a0a0e1a)}.tourist-spot-name{font-family:var(--font-ui);font-size:1rem;font-weight:700;color:var(--color-text-white);margin-bottom:4px;text-shadow:0 2px 4px rgba(0,0,0,.5);transition:color .3s ease}.tourist-spot-card:hover .tourist-spot-name{color:var(--color-gold)}.tourist-spot-desc{font-family:var(--font-body);font-size:.75rem;color:var(--color-text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.tourist-spot-btn{align-self:flex-start;display:flex;align-items:center;gap:4px;font-family:var(--font-ui);font-size:.65rem;font-weight:700;color:var(--color-gold);background:#d4af371a;border:1px solid rgba(212,175,55,.2);padding:4px 8px;border-radius:50px;transition:all .3s ease}.tourist-spot-card:hover .tourist-spot-btn{background:var(--color-gold);color:var(--color-text-dark);border-color:var(--color-gold)}.cult-google-map-wrapper{margin-top:25px;animation:cultFadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}.google-map-container{width:100%;height:220px;border-radius:8px;overflow:hidden;margin-top:10px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 15px #0000004d}.google-map-container iframe{width:100%;height:100%;border:none;background:#121217}.cult-title{font-size:1.8rem;color:var(--color-text-white);margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:12px}.cult-item{margin-bottom:24px}.cult-item:last-child{margin-bottom:0}.cult-item-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.cult-item-line{width:3px;height:16px;background:var(--color-gold);border-radius:2px;display:inline-block}.cult-item-header h4{font-size:.95rem;color:var(--color-gold);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.cult-item-desc{font-family:var(--font-body);font-size:.95rem;color:var(--color-text-muted);line-height:1.6}.culture-card-loading{position:absolute;inset:0;background:#121217cc;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-lg);z-index:5}.mini-spinner{width:40px;height:40px;border:3px solid rgba(212,175,55,.1);border-top-color:var(--color-gold);border-radius:50%;animation:spin-loader .8s linear infinite}@keyframes spin-loader{to{transform:rotate(360deg)}}.cart-sidebar{position:fixed;top:0;right:calc(-1 * var(--sidebar-width));width:var(--sidebar-width);height:100vh;background:var(--color-bg-card);border-left:1px solid var(--border-gold-glow);z-index:2000;display:flex;flex-direction:column;box-shadow:-10px 0 40px #0009;transition:right .5s cubic-bezier(.16,1,.3,1)}.cart-sidebar.open{right:0}.cart-header{padding:24px;border-bottom:1px solid var(--border-white-glow);display:flex;justify-content:space-between;align-items:center}.cart-header h3{font-size:1.3rem;font-weight:800;letter-spacing:.02em}.cart-close{font-size:2rem;color:var(--color-text-muted)}.cart-close:hover{color:var(--color-text-white)}.cart-items-list{flex-grow:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.cart-empty-message{text-align:center;color:var(--color-text-muted);font-family:var(--font-body);font-style:italic;margin-top:40px}.cart-item{display:flex;gap:15px;align-items:center;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.03)}.cart-item-img-badge{width:60px;height:60px;background:#d4af370d;border-radius:var(--border-radius-sm);border:1px solid var(--border-gold-glow);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:800;color:var(--color-gold);font-size:1.1rem;letter-spacing:.05em}.cart-item-details{flex-grow:1}.cart-item-title{font-size:.9rem;font-weight:700;margin-bottom:2px}.cart-item-price{font-size:.85rem;color:var(--color-gold);font-weight:600}.cart-item-remove{color:var(--color-terracotta);font-size:.8rem;font-weight:700;padding:5px}.cart-item-remove:hover{color:#ff4b4b}.cart-footer{padding:24px;border-top:1px solid var(--border-white-glow);background:#0003}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;font-weight:800;margin-bottom:20px}#cart-total-value{color:var(--color-gold)}.btn:disabled{opacity:.5;pointer-events:none}.product-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#08080ad9;backdrop-filter:blur(10px);z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease;padding:24px}.product-modal.open{opacity:1;pointer-events:auto}.modal-wrapper{width:100%;max-width:1000px;background:var(--color-bg-card);border:1px solid var(--border-gold-glow);border-radius:var(--border-radius-lg);position:relative;overflow:hidden;box-shadow:0 20px 50px #0009;transform:scale(.9);transition:transform .4s cubic-bezier(.16,1,.3,1)}.product-modal.open .modal-wrapper{transform:scale(1)}.modal-close{position:absolute;top:20px;right:20px;font-size:2.2rem;color:var(--color-text-muted);z-index:10}.modal-close:hover{color:var(--color-text-white)}.modal-grid{display:grid;grid-template-columns:1.1fr 1fr;height:100%;min-height:520px}.modal-visual-area{position:relative;background:#0000004d;border-right:1px solid var(--border-white-glow);display:flex;flex-direction:column}.modal-canvas-3d{width:100%!important;flex-grow:1;cursor:grab}.modal-canvas-3d:active{cursor:grabbing}.viewer-instructions-modal{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-size:.65rem;color:var(--color-text-muted);pointer-events:none;background:#08080a99;padding:4px 10px;border-radius:50px;border:1px solid rgba(255,255,255,.05)}.modal-material-selector{position:absolute;top:20px;left:20px;display:flex;gap:8px}.btn-modal-mat{padding:6px 12px;border-radius:var(--border-radius-sm);font-size:.7rem;font-weight:700;color:var(--color-text-muted);background:#121217cc;border:1px solid rgba(255,255,255,.05)}.btn-modal-mat:hover,.btn-modal-mat.active{color:var(--color-text-white);background:var(--color-gold);border-color:var(--color-gold);color:var(--color-text-dark)}.modal-info-area{padding:40px;display:flex;flex-direction:column;overflow-y:auto}.modal-info-area h2{font-size:1.8rem;line-height:1.2;margin-bottom:8px}.artisan-name{font-family:var(--font-body);font-style:italic;font-size:.95rem;color:var(--color-gold);margin-bottom:24px}.modal-desc-text{font-family:var(--font-body);font-size:.95rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:30px}.modal-specs{border-top:1px solid rgba(255,255,255,.05);padding-top:20px;margin-bottom:30px;display:flex;flex-direction:column;gap:10px}.spec-item{display:flex;justify-content:space-between;font-size:.85rem}.spec-label{color:var(--color-text-muted);font-weight:600}.spec-value{color:var(--color-text-white);font-weight:700}.modal-purchase-area{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.05);padding-top:24px;margin-top:auto}.modal-price-val{font-size:1.8rem;font-weight:800;color:var(--color-gold)}.footer{background:#050507;border-top:1px solid rgba(255,255,255,.03);padding:80px 24px 40px;color:var(--color-text-muted)}.footer-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:80px}.footer-brand h3{font-size:1.4rem;color:var(--color-text-white);margin-bottom:15px}.footer-brand p{font-size:.95rem;max-width:450px;line-height:1.6}.footer-links{display:flex;flex-direction:column;gap:12px}.footer-links h4{color:var(--color-text-white);font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.footer-links a:hover{color:var(--color-gold);padding-left:5px}.footer-copy{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.03);padding-top:40px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;font-size:.8rem}.tech-stack{color:var(--color-terracotta);font-weight:600}@media (max-width: 1024px){.region-container{grid-template-columns:1fr;gap:40px}.region-section.alt-layout .region-container{grid-template-columns:1fr}.region-section.alt-layout .region-info{grid-column:1}.region-section.alt-layout .region-viewer{grid-column:1;grid-row:auto}.canvas-3d-wrapper{height:380px}.mapa-container{grid-template-columns:1fr;gap:50px}}@media (max-width: 768px){.nav-menu,.ruta-timeline-indicator{display:none}.logo-img{height:32px}.intro-mute-container{bottom:20px;left:20px}.intro-skip-container{top:20px;right:20px}.intro-skip-btn{padding:10px 18px;font-size:.75rem;letter-spacing:.12em}.intro-control-btn{width:42px;height:42px}.modal-grid{grid-template-columns:1fr}.modal-visual-area{height:300px;border-right:none;border-bottom:1px solid var(--border-white-glow)}.modal-info-area{padding:24px}.cart-sidebar{width:100vw;right:-100vw}.footer-container{grid-template-columns:1fr;gap:40px}}@media (max-width: 768px){.hero{padding-top:60px;padding-bottom:0;min-height:auto;overflow:visible}.hero-studio-container{display:flex;flex-direction:column;gap:0;padding:0}.hero-studio-left{order:1;height:calc(100vh - 60px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;position:relative;z-index:5}.hero-studio-title{font-size:2rem;margin-bottom:12px;text-align:center;line-height:1.2}.hero-studio-desc{text-align:center;margin-left:auto;margin-right:auto;max-width:400px;margin-bottom:24px;font-size:.9rem}.hero-studio-actions{display:flex;justify-content:center;width:100%;margin-bottom:20px}.hero-studio-actions a{width:100%;max-width:280px;text-align:center}.hero-studio-socials{display:flex;justify-content:center;gap:16px;margin-bottom:0}.hero-canvas-3d{position:absolute;top:100vh!important;height:320px!important;width:100%!important;z-index:2}.hero-studio-center{order:2;height:320px;min-height:320px;width:100%;padding-bottom:0;justify-content:center;position:relative;z-index:3;margin-top:10px}.hero-model-legend{background:#0006;padding:6px 12px;border-radius:20px;backdrop-filter:blur(4px)}.hero-studio-right{order:3;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;background:#0f0a08bf;border:1px solid rgba(212,175,55,.2);padding:24px 20px;border-radius:var(--border-radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 40px #0009;width:calc(100% - 32px);margin:10px auto 40px;z-index:4;position:relative}.product-price-studio{grid-column:1;justify-self:start;text-align:left;display:flex;flex-direction:column;align-items:flex-start;font-size:1.15rem}.hero-studio-region-badge{grid-column:2;justify-self:end;text-align:right;margin-top:0;display:flex;flex-direction:column;align-items:flex-end}.material-selector-studio{grid-column:1 / -1;width:100%;text-align:left;display:flex;flex-direction:column;gap:8px}.selector-pills{display:flex;justify-content:center;width:100%;gap:8px}.btn-material-studio{flex:1;padding:12px 8px;font-size:.75rem;text-align:center}.product-specs-studio{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:16px;width:100%}.spec-item-studio{display:flex;flex-direction:column;align-items:center;text-align:center}.spec-label{font-size:.62rem}.spec-value{font-size:.72rem;margin-top:2px}.section-title{font-size:1.8rem}.region-controls{flex-wrap:wrap;justify-content:center;gap:8px}.btn-material{padding:6px 12px;font-size:.75rem}}
