:root{--bg-deep:#f7f3eb;--bg-dark:#ece5d9;--bg-card:#ffffff;--purple:#6b269c;--purple-light:#8d4fbb;--purple-glow:rgba(107,38,156,0.32);--purple-subtle:#ead8f4;--purple-dark:#f1e4f7;--purple-mid:#b084d0;--white:#1f1b2e;--white-pure:#ffffff;--gray:#5f5671;--gray-dim:#6f6683;--font-display:'Fraunces',serif;--font-body:'DM Sans',sans-serif;--ease-out:cubic-bezier(0.16, 1, 0.3, 1)}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--purple) var(--bg-deep);overflow-x:clip}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--white);overflow-x:hidden;cursor:auto;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100dvh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:auto;font-family:var(--font-body)}::selection{background:var(--purple);color:var(--white-pure)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--purple);border-radius:10px}/* BACKGROUND */body{position:relative}.page-orb{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0;animation:floatOrb 10s ease-in-out infinite;will-change:transform}.page-orb-1{width:660px;height:660px;background:var(--purple);top:-5%;left:-10%;opacity:0.15}.page-orb-2{width:450px;height:450px;background:var(--purple-light);top:40%;right:-8%;opacity:0.10;animation-delay:-4s}@keyframes floatOrb{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(24px,-24px) scale(1.03)}66%{transform:translate(-15px,15px) scale(0.97)}}@media (prefers-reduced-motion: reduce){.page-orb{animation:none}}/* PAGE HEADER */.gallery-header{position:relative;z-index:1;padding:7.5rem 3rem 2.5rem;max-width:1300px;margin:0 auto;width:100%}.gallery-back{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.8rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--purple-light);transition:gap 0.3s ease;margin-bottom:2rem}.gallery-back:hover{gap:0.8rem}.gallery-back svg{width:14px;height:14px}.gallery-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--purple-light);font-weight:700;margin-bottom:0.8rem;display:flex;align-items:center;gap:0.6rem;white-space:nowrap}.gallery-label::before{content:'';display:block;width:28px;height:1.5px;background:var(--purple-light)}.gallery-title{font-family:var(--font-display);font-size:clamp(2.2rem, 5vw, 4rem);font-weight:400;letter-spacing:-0.03em;line-height:1.0}.gallery-title em{font-style:italic;font-weight:400;color:var(--purple)}.gallery-count{margin-top:0.8rem;font-size:0.85rem;color:var(--gray-dim)}/* GALLERY GRID */.gallery-grid{position:relative;z-index:1;padding:0 2rem 2rem;max-width:1300px;margin:0 auto;width:100%;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:0.8rem;grid-auto-flow:dense;grid-auto-rows:8px}.gallery-item{border-radius:12px;overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--bg-deep);cursor:auto;margin:0;width:100%}.gallery-item--horizontal{aspect-ratio:4/3}.gallery-item--vertical{aspect-ratio:3/4}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s var(--ease-out)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(107,38,156,0.3), transparent 60%);opacity:0;transition:opacity 0.4s ease;pointer-events:none}.gallery-item:hover::after{opacity:1}/* SEO COPY SECTION */.seo-copy{position:relative;z-index:1;background:var(--bg-dark);margin:0;padding:3.2rem 2rem 4.2rem}.seo-copy-inner{max-width:1300px;margin:0 auto}/* Bloque introductorio (SEO/GEO): sección propia, separada de la
           franja de FAQ, con fondo claro y contenido centrado. */.seo-copy-intro{position:relative;z-index:1;background:var(--bg-deep);padding:3.4rem 2rem}.seo-copy-intro-inner{max-width:760px;margin:0 auto;text-align:left}.seo-copy-intro-inner h2{font-family:var(--font-display);font-size:clamp(1.35rem, 2.2vw, 1.9rem);line-height:1.15;letter-spacing:-0.02em;margin:2.2rem 0 0.8rem}.seo-copy-intro-inner h2:first-child{margin-top:0}.seo-copy-intro-inner p{font-size:1.02rem;color:var(--gray);line-height:1.72;margin-bottom:0.85rem}.seo-copy-intro-inner p:last-child{margin-bottom:0}.seo-copy h2{font-family:var(--font-display);font-size:clamp(1.35rem, 2.2vw, 2rem);line-height:1.1;letter-spacing:-0.02em;margin-bottom:0.8rem}.seo-copy h3{font-family:var(--font-display);font-size:clamp(1.02rem, 1.5vw, 1.25rem);line-height:1.2;margin:1.05rem 0 0.5rem;color:var(--purple)}.seo-copy p{font-size:1.02rem;color:var(--gray);line-height:1.72}.seo-intro-col p{margin-bottom:0.85rem}.seo-copy-cta-card{border-radius:14px;padding:1.6rem 2rem;background:linear-gradient(145deg, rgba(107,38,156,0.97), rgba(141,79,187,0.9));color:var(--white-pure);border:1px solid rgba(255,255,255,0.2);box-shadow:0 12px 36px rgba(107,38,156,0.24);display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.5rem;max-width:520px;margin:3.6rem auto 0}.seo-copy-cta-card h3{font-family:var(--font-display);font-size:clamp(1.3rem, 2vw, 1.7rem);line-height:1.15;color:var(--white-pure);margin:0}.seo-copy-cta-card p{color:rgba(255,255,255,0.88);font-size:0.9rem;line-height:1.5}.seo-copy-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;width:fit-content;margin-top:0.6rem;padding:0.6rem 1.1rem;border-radius:999px;background:var(--white-pure);color:var(--purple);font-weight:700;font-size:0.88rem;border:1px solid rgba(255,255,255,0.55);transition:transform 0.2s ease,box-shadow 0.2s ease}/* 2-COLUMN LAYOUT: intro (título de columna + specialties) | FAQ */.seo-two-col{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;margin-top:3.5rem;align-items:start}.seo-two-col .seo-faq{margin-top:0}.seo-intro-col{display:flex;flex-direction:column;gap:0}/* El título de columna (id="seo-title") debe leer igual que
           "Preguntas frecuentes" de la columna derecha: mismo tamaño,
           peso y alineación, no como una entrada más de especialidad. */#seo-title{font-family:var(--font-display);font-size:clamp(1.4rem, 2.5vw, 1.95rem);font-weight:700;line-height:1.15;letter-spacing:-0.02em;color:var(--white);text-align:left;margin:0 0 1.2rem}.seo-copy-cta-btn .btn-icon{width:0.95rem;height:0.95rem;display:inline-flex}.seo-copy-cta-btn .btn-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2}.seo-copy-cta-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(31,27,46,0.2)}/* FAQ ACCORDION */.seo-faq{margin-top:2rem}.seo-faq > h2{font-family:var(--font-display);font-size:clamp(1.4rem, 2.5vw, 1.95rem);font-weight:700;line-height:1.15;letter-spacing:-0.02em;color:var(--white);text-align:left;margin-bottom:1.2rem}.faq-grid{display:flex;flex-direction:column;gap:0.45rem}.faq-item{border-radius:10px;border:1px solid rgba(107,38,156,0.12);background:var(--bg-card);overflow:hidden}.faq-trigger{width:100%;background:none;border:none;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;cursor:pointer;transition:background 0.2s}.faq-trigger:hover{background:rgba(107,38,156,0.04)}.faq-trigger h3{font-family:var(--font-body);font-size:0.95rem;font-weight:500;color:var(--white);margin:0;line-height:1.4}.faq-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--purple-subtle, #ead8f4);color:var(--purple);display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;transition:background 0.2s,color 0.2s,transform 0.3s var(--ease-out)}.faq-item.open .faq-icon{background:var(--purple);color:#fff;transform:rotate(45deg)}.faq-body{max-height:0;overflow:hidden;transition:max-height 0.35s var(--ease-out)}.faq-body p{padding:0 1.2rem 1rem;font-size:0.93rem;color:var(--gray);line-height:1.72;margin:0}/* LIGHTBOX */.lightbox{position:fixed;inset:0;z-index:99990;background:rgba(10, 7, 20, 0.95);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s ease}.lightbox.open{opacity:1;pointer-events:auto}.lightbox-img-wrap{max-width:min(92vw, 1200px);max-height:88vh;position:relative}.lightbox-img-wrap img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:8px;display:block;box-shadow:0 32px 80px rgba(0,0,0,0.6)}.lightbox-close{position:absolute;top:-2.8rem;right:0;background:none;border:none;color:rgba(255,255,255,0.7);font-size:1.5rem;cursor:pointer;padding:0.4rem;transition:color 0.2s ease;line-height:1}.lightbox-close:hover{color:#fff}.lightbox-btn{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;z-index:10}.lightbox-btn:hover{background:var(--purple);border-color:var(--purple);transform:translateY(-50%) scale(1.08)}.lightbox-btn svg{width:20px;height:20px}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.6);font-size:0.82rem;letter-spacing:0.1em;background:rgba(0,0,0,0.4);padding:0.35rem 1rem;border-radius:100px}/* SERVICE PRICE CARD */.price-card-section{background:var(--bg-deep);padding:2rem 2rem 4rem}.service-price-card{max-width:820px;margin:0 auto;padding:3rem 2.5rem;background:linear-gradient(135deg, var(--bg-dark) 0%, #ece5d9 100%);border:1px solid rgba(107, 38, 156, 0.12);border-radius:32px 8px 32px 32px;box-shadow:0 16px 48px rgba(107, 38, 156, 0.04);position:relative;overflow:visible/* allows badge to pop out slightly */}.service-price-card::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--purple-mid) 1.2px, transparent 1.2px);background-size:24px 24px;opacity:0.1;pointer-events:none;border-radius:32px 8px 32px 32px}.price-card-flex{display:flex;justify-content:space-between;align-items:center;gap:3rem}.price-card-info{flex:1;position:relative;z-index:2}.price-card-info h3{font-family:var(--font-display);font-size:clamp(1.4rem, 2.5vw, 1.85rem);font-weight:700;color:var(--purple);margin-bottom:0.8rem;line-height:1.25}.price-card-info p{font-family:var(--font-body);font-size:0.95rem;line-height:1.6;color:var(--gray);margin-bottom:1.5rem}.price-features{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:0.65rem}.price-features li{font-family:var(--font-body);font-size:0.92rem;color:var(--white);display:flex;align-items:center;gap:0.65rem;font-weight:500}.price-features-icon{width:16px;height:16px;color:var(--purple-light);flex-shrink:0}.price-badge-container{position:relative;z-index:2;flex-shrink:0}.price-badge-organic{width:180px;height:180px;background:linear-gradient(135deg, var(--purple) 0%, var(--purple-light) 100%);border-radius:54% 46% 42% 58%/50% 44% 56% 50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--white-pure);box-shadow:0 12px 36px rgba(107, 38, 156, 0.35);transform:rotate(-4deg);transition:all 0.5s var(--ease-out);cursor:default;animation:organicMorph 8s ease-in-out infinite alternate}.price-badge-organic:hover{transform:scale(1.05) rotate(2deg);box-shadow:0 16px 48px rgba(107, 38, 156, 0.45)}.badge-lbl{font-family:var(--font-body);font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;opacity:0.85}.badge-price{font-family:var(--font-display);font-size:2.5rem;font-weight:800;line-height:1;margin:0.2rem 0}.badge-period{font-family:var(--font-body);font-size:0.88rem;opacity:0.85}@keyframes organicMorph{0%{border-radius:54% 46% 42% 58%/50% 44% 56% 50%}50%{border-radius:48% 52% 56% 44%/46% 58% 42% 54%}100%{border-radius:56% 44% 48% 52%/54% 46% 54% 46%}}@media (max-width: 768px){.price-card-flex{flex-direction:column-reverse;gap:2rem;align-items:center;text-align:center}.price-features{align-items:center}.service-price-card{padding:2.5rem 1.5rem}.price-badge-organic{width:150px;height:150px}.badge-price{font-size:2rem}}/* BUTTON */.btn{padding:0.95rem 2.2rem;border-radius:100px;font-family:var(--font-body);font-size:0.94rem;font-weight:600;letter-spacing:0.02em;border:none;transition:all 0.4s var(--ease-out);display:inline-flex;align-items:center;gap:0.5rem;text-decoration:none;cursor:pointer}.btn-primary{background:linear-gradient(135deg, var(--purple), var(--purple-light));color:#fff;box-shadow:0 8px 30px rgba(107,38,156,.32)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(107,38,156,.45)}/* BACKGROUND TEXTURE */.noise{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");background-size:200px;opacity:0.015}.page-bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(107,38,156,0.03) 1px, transparent 1px),linear-gradient(90deg, rgba(107,38,156,0.03) 1px, transparent 1px);background-size:60px 60px}/* RESPONSIVE */@media (max-width: 900px){.seo-copy{padding:2.4rem 1rem 3rem}.seo-copy-intro{padding:2.4rem 1rem}.seo-copy-cta-card{margin-top:2.8rem}.seo-two-col{grid-template-columns:1fr}}@media (max-width: 1024px){.gallery-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 768px){body{cursor:auto}.gallery-header{padding:6.5rem 1.5rem 2rem}.gallery-label{font-size:0.64rem;letter-spacing:0.06em}.gallery-grid{padding:0 1rem 3rem;gap:0.5rem}.lightbox-btn{width:40px;height:40px}.lightbox-prev{left:0.5rem}.lightbox-next{right:0.5rem}.back-to-top{bottom:1.2rem;right:1.2rem;cursor:auto}}@media (max-width: 480px){.gallery-grid{grid-template-columns:1fr}}/* Breadcrumb nav */.breadcrumb-nav{padding:0.6rem 5%;font-size:0.78rem;color:var(--gray);font-family:var(--font-body);background:var(--bg-deep);border-bottom:1px solid rgba(107,38,156,0.07)}.breadcrumb-nav a{color:var(--purple);text-decoration:none}.breadcrumb-nav a:hover{text-decoration:underline}.breadcrumb-nav span[aria-current="page"]{color:var(--gray)}.breadcrumb-nav .sep{margin:0 0.35em;opacity:0.45}/* Servicios relacionados */.related-services{padding:1.5rem 2.5rem 1.8rem;margin-bottom:0;background:var(--bg-dark);border-top:none}.related-services-label{display:block;width:100%;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--purple);text-align:center;margin:0 auto 1.4rem}/* Rejilla de pistas de ancho acotado y centradas: evita que la última
   tarjeta quede huérfana en una fila propia cuando no cabe la serie. */.related-services-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 260px));justify-content:center;gap:1rem;max-width:1120px;margin:0 auto}/* Título y descripción apilados en la columna 1; la flecha ocupa la
   columna 2 a toda la altura. Con display:flex quedaban lado a lado. */.related-card{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:0.9rem;padding:1rem 1.4rem;border-radius:0.9rem;border:1px solid rgba(107,38,156,0.22);background:rgba(107,38,156,0.03);text-decoration:none;transition:background 0.18s,border-color 0.18s,transform 0.18s}.related-card strong,.related-card span{grid-column:1}.related-card:hover{background:rgba(107,38,156,0.08);border-color:rgba(107,38,156,0.4);transform:translateY(-2px)}.related-card strong{display:block;font-size:0.95rem;font-weight:700;color:var(--purple);margin-bottom:0.2rem}.related-card span{font-size:0.8rem;color:var(--gray);line-height:1.4}.related-card::after{content:'→';grid-column:2;grid-row:1/-1;color:var(--purple-mid);font-size:1rem;opacity:0.7;transition:opacity 0.18s,transform 0.18s}.related-card:hover::after{opacity:1;transform:translateX(3px)}@media (max-width: 600px){.related-services-grid{grid-template-columns:1fr}}/* ─── Artículos relacionados: tarjetas con miniatura ─── */.related-articles-section{padding:1.5rem 2.5rem 2.5rem;background:var(--bg-dark)}.related-articles-grid{display:flex;flex-wrap:nowrap;justify-content:center;gap:1rem;max-width:1000px;margin:0 auto 2rem}.related-article-card{display:block;container-type:inline-size;border-radius:10px;overflow:hidden;border:1px solid rgba(107,38,156,0.16);background:rgba(255,255,255,0.6);text-decoration:none;transition:transform 0.18s,box-shadow 0.18s,border-color 0.18s;flex:1 1 0;max-width:300px;min-width:0}.related-article-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(107,38,156,0.13);border-color:rgba(107,38,156,0.32)}.related-article-card img{width:100%;height:56.25cqw;aspect-ratio:16/9;object-fit:cover;display:block}.related-article-card strong{display:block;padding:0.65rem 0.85rem 0.75rem;font-size:0.82rem;font-weight:700;color:var(--purple);line-height:1.35}@media (max-width: 640px){.related-articles-grid{flex-wrap:wrap}.related-article-card{flex:1 1 calc(50% - 0.5rem);max-width:none}}/* RESPUESTAS RÁPIDAS */.faq-rapidas{background:var(--bg-deep);padding:2rem 2rem 0}.faq-rapidas-inner{max-width:720px;margin:0 auto}.faq-rapidas-heading{font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin:0 0 1.2rem}.faq-rapidas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}.faq-rapidas-item{border-left:3px solid var(--purple-mid);padding-left:1rem}.faq-rapidas-q{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--white);margin:0 0 .3rem}.faq-rapidas-a{font-size:.9rem;line-height:1.55;color:var(--gray);margin:0}
