:root {


  --color-bg-primary: #131415;
  --color-bg-secondary: #181a1a;
  --color-bg-accent: #34373A;

  --color-primary: #C109D9;
  --color-primary-hover: #BC6ECC;

  --color-primary-b: #14608372;
  --color-primary-hover-b: #068ecd72;

  --color-link: #E59136;
  --color-link-hover: #e47f13;

  --color-text: #e8f1fa;
  --color-text-span: #48a1c8;
  --color-line: #48a2c873;
  --color-text-muted: #9AA4B2;
  --color-text-muteding: #78869a;

  --color-friccion: #970606;

--font-family-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
--font-size-base: 1.125rem;
            
--spacing-unit: 1rem;
--max-content-width: 1200px;

  --f-alt-hero: clamp(2.5rem, 8vw, 4rem);
  --f-alt-descripcion-titulo: clamp(1.25rem, 3vw, 1.75rem);

  --f-alt-titulo: clamp(2rem, 4vw, 2.7rem);
  --f-alt-descripcion-titulo-ch: 1.2rem;
  --f-alt-texto: 1rem;

  --f-alt-titulo-cta: 2rem;

  --f-bold: 700;
  --f-medium: 500;
  --f-normal: 100;
}



* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: var(--font-family-primary);
font-size: var(--font-size-base);
line-height: 1.6;
background-color: var(--color-bg-primary);
min-height: 100vh;
text-rendering: optimizeLegibility;
        }
/* .section {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 12rem 0;
}
.section-inner {
    max-width: 1200px;
    width: 100%;
    margin-inline: auto;
    padding-inline: 1.5rem;
} */

.bg-cla{
background-color: var(--color-bg-primary);
}
.bg-obs{
  background-color: var(--color-bg-secondary);  
}
.bg-col{
  background-color: var(--color-bg-accent);  
}
a {
color: var(--color-link);
text-decoration: none;
transition: color 0.3s ease;
}
a:hover {
color: var(--color-link-hover);
}

.title-hero {
  font-size: var(--f-alt-hero);
  font-weight: var(--f-medium);
  max-width: 1200px;
  line-height: 1;
letter-spacing: 0.01em;
}
.descripcion-hero {
  font-size: var(--f-alt-descripcion-titulo);
  font-weight: var(--f-normal);
  max-width: 1000px;
  line-height: 1.3;
  padding-bottom: 1.5rem;
}
.descripcion-titulo {
  font-size: var(--f-alt-descripcion-titulo);
  font-weight: var(--f-medium);
  max-width: 700px;
  line-height: 1.3;
}
.title-section {
  font-size: var(--f-alt-titulo);
  font-weight: var(--f-medium);
  max-width: 1200px;
  line-height: 1.1;
  letter-spacing: 0.03em;
  padding-bottom: 10px;
}
.subtitle-section {
  font-size: var(--f-alt-descripcion-titulo);
  font-weight: var(--f-normal);
  max-width: 1200px;
  line-height: 1.1;
  letter-spacing: 0.04em;
  padding-bottom: 3rem;
}
.title-card {
  font-size: var(--f-alt-descripcion-titulo);
  font-weight: var(--f-medium);
  max-width: 1200px;
  line-height: 1.1;
  letter-spacing: 0.04em;
  padding-bottom: 1rem;
}
.description-card{
    font-size: var(--f-alt-descripcion-titulo-ch);
  font-weight: var(--f-normal);
  line-height: normal;
  letter-spacing: 0.04em;
  padding: 10px 0;
}

.text{
    font-size: var(--f-alt-texto);
}
.color-a{
    color: var(--color-text);
}
.color-link{
    color: var(--color-link);
}
.color-b{
    color: var(--color-text-muted);
}
header {
background-color: var(--color-bg-primary);
border-bottom: 1px solid var(--color-text-muteding);
padding-block: var(--spacing-unit);
}
.content-container {
width: min(100% - calc(var(--spacing-unit) * 2), var(--max-content-width));
margin-inline: auto;
}
.header-content {
display: grid;
grid-template-columns: 1fr;
gap: var(--spacing-unit);
align-items: center;

}
.header-logo a {
font-size: clamp(1.5rem, 5vw, 2rem);
font-weight: bold;
letter-spacing: normal;
color: var(--color-link);
}
.header-logo a:hover{
  color: var(--color-link-hover);  
}
.header-logo p {
font-size: clamp(1rem, 2vw, 1.4rem);
font-weight: 100;
letter-spacing: -0.02em;
color: var(--color-text-muted);
}
.header-contact {
text-align: center;
} 
/* ============================= */
/* 🧱 BASE DE TODAS LAS SECTIONS */
/* ============================= */
.section-base {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding-block: calc(var(--spacing-unit) * 9);
}
/* ============================= */
/* 🖼️ HERO CON IMAGEN            */
/* ============================= */
.section-bg-image {
  min-height: calc(100vh - 120px);

  background:
    linear-gradient(0deg, rgba(0,0,0,0.9), rgba(0,0,0,0.15)),
    url('/img/parallax/proyecto-hero.webp');

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


/* ============================= */
/* 🌑 SECTION SIN IMAGEN         */
/* ============================= */
.section-bg-dark {
  background:
    radial-gradient(
      circle at 30% 40%,
      rgba(80, 100, 255, 0.08),
      transparent 50%
    ),
    linear-gradient(
      180deg,
      #0d0f14 0%,
      #131415 40%,
      #0a0b10 100%
    );
}


/* ============================= */
/* 🔥 DESVANECIDO TOP/BOTTOM     */
/* ============================= */
.section-fade::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.95) 0%,
    rgba(0,0,0,0.5) 10%,
    rgba(0,0,0,0) 40%,
    rgba(0,0,0,0) 50%,
    rgba(0,0,0,0.6) 80%,
    rgba(0,0,0,1) 100%
  );

  pointer-events: none;
}


/* ============================= */
/* ✨ GLOW SUTIL                 */
/* ============================= */
.section-glow::before {
  content: "";
  position: absolute;
  inset: 0;

  background: radial-gradient(
    circle at 50% 40%,
    rgba(80, 100, 255, 0.08),
    transparent 60%
  );

  pointer-events: none;
}


/* ============================= */
/* 🧠 CONTENIDO SIEMPRE ARRIBA   */
/* ============================= */
.section-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1.5rem;

  display: grid;
  gap: calc(var(--spacing-unit) * 2);
}

/* 🔥 contenido SIEMPRE arriba */
.hero-content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: calc(var(--spacing-unit) * 2);
  color: #fff;
}
.hero-cta {
display: flex;
flex-wrap: wrap;
gap: var(--spacing-unit);

}
.btn {
display: inline-block;
padding: calc(var(--spacing-unit) * 0.875) calc(var(--spacing-unit) * 2);
font-size: 1rem;
font-weight: 500;
border-radius: 13px;
transition: all 0.3s ease;
cursor: pointer;
border: none;
text-align: center;
}
.btn-primary {
background-color: var(--color-link);
color: var(--color-bg-secondary);
}
.btn-primary:hover {
background-color: var(--color-link-hover);
transform: translateY(-3px);
color: var(--color-bg-primary);
}
.text-cta .btn {
  display: inline-block;
  justify-self: center;
}
.hero-features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: calc(var(--spacing-unit) * 3);
margin-top: calc(var(--spacing-unit) * 3);
padding-top: calc(var(--spacing-unit) * 3);
border-top: 1px solid var(--color-text-muteding);
}
.glass-card {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border-radius: 16px;
  border: 1px solid var(--color-text-muteding);
  padding: 2rem;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.feature-item {
display: flex;
flex-direction: column;
gap: 10px;
}
.feature-title {
font-size: 1.125rem;
font-weight: 600;
}
.feature-description {
font-size: 0.95rem;
line-height: normal;
}
.intro-video { width:100%; display:flex; justify-content:center; padding: 1rem 0; }
.intro-video__media {
  width: 100%;
  max-width: 720px; /* controla máximo */
  height: auto;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}
.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.video-wrapper iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 600px) {
.header-content {
grid-template-columns: 1fr auto;
}

.header-contact {
text-align: right;
}

.header-logo {
text-align: left;
}

.header-contact a {
margin-left: calc(var(--spacing-unit) * 1.5);
}
}
@media (max-width: 1024px) {
.intro-video__media {
width: 90%;
}
}

.dolor-grid {
    display: grid;
    gap: 2rem;
    margin-bottom: 4rem;
}
@media (min-width: 800px) {
.dolor-grid {
grid-template-columns: repeat(2, 1fr);
}
}
.card-st {
background: var(--color-bg-primary);
padding: 2rem;
border-radius: 14px;
z-index: 1;
display: flex;
flex-direction: column;
border: 1px solid var(--color-line);
transition: border-color .2s ease, transform .2s ease;
height: 100%;
}
.section-a .card-st:hover {
  border-color: var(--color-link);
  transform: translateY(-3px);
}
.section-a .card-st:hover .title-card {
  color: var(--color-link);
}
.section-a .card-st:hover .description-card {
  color: var(--color-text);
}

.section-b .card-st:hover .description-card {
  color: var(--color-text);
}
.section-a .card-st:hover .card-cta{
  color: var(--color-link-hover);
}
.numero-plan {
display: inline-block;
font-size: 1.5rem;
font-weight: 800;
margin-bottom: 1rem;
line-height: 1;
color: var(--color-line);
}
#dolor .section-b .card-st:hover .title-card{
  color: var(--color-friccion);
}
.cuidado{
  color: var(--color-friccion);
  display: none;
}
#dolor .section-b .card-st:hover .cuidado{
display: inline;
}
#dolor .section-b .card-st:hover {
  border-color: var(--color-friccion);
}







.cta-background{
padding-block: calc(var(--spacing-unit) * 6);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-color: rgba(0,0,0,0.35);
background-blend-mode: darken;
}
.cta-img-1{
background: 
        linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.1)),
        url('/img/parallax/proyecto-cta-3.webp');
}
.cta-img-2{
   background: 
        linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.1)),
        url('/img/parallax/proyecto-cta-2.webp'); 
}
.cta-img-3{
   background: 
        linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0.1)),
        url('/img/parallax/proyecto-cta-5.webp'); 
}
.text-cta{
    text-align: center;
}
.color-span{
    color: var(--color-text-span);
    font-weight: var(--f-medium);
}
.planes-grid {
    display: grid;
    gap: 2rem;
}
@media (min-width: 900px) {
    .planes-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.plan-cta {
    display: inline-block;
    background: var(--color-link);
    text-align: center;
    padding: .9rem 1.6rem;
    border-radius: 10px;
    color: #000;
    font-weight: 600;
    transition: opacity .2s ease;
    margin-top: auto;
}
.plan-cta:hover {
    color: var(--color-text);
    background: var(--color-link-hover);
}
.casos-grid {
    display: grid;
    gap: 2rem;
}
@media (min-width: 900px) {
.casos-grid {
grid-template-columns: repeat(3, 1fr);
}
}

.text-tag {
margin-top: 2rem;
display: inline-block;
padding: .4rem .9rem;
font-size: .85rem;
font-weight: 600;
align-self: flex-start;
border-left: solid 8px var(--color-primary-hover-b);
color: var(--color-text-muted);
}
.section-b .card-st:hover {
  border-color: var(--color-text-span);
  transform: translateY(-3px);
}
.section-b .card-st:hover .text-tag {
  border-left: solid 33px var(--color-text-span);
color: var(--color-text-span);
font-size: 0.9rem;
letter-spacing: 0.03em;
}

.metodo-grid {
display: grid;
gap: 2rem;
}
@media (min-width: 900px) {
.metodo-grid {
grid-template-columns: repeat(3, 1fr);
}
}

.paso-numero {
display: inline-block;
font-size: 2.4rem;
font-weight: 800;
margin-bottom: 1rem;
line-height: 1;
color: var(--color-primary-hover-b);
}

.faq-grid {
    display: grid;
    gap: 2rem;
}
@media (min-width: 900px) {
    .faq-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


.servicios-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .servicios-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .servicios-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.btn-servicio {
  font-size: 0.9rem;
  color: var(--color-link);
  text-decoration: none;
  font-weight: 400;
}

#tiktok img{
width: 100%;
}

#tiktok img{
    border: 1px solid var(--color-link);
    border-radius: 13px;
}
#tiktok img:hover{
    border: 1px solid var(--color-link-hover);
    
}
.footer-comunas {
  overflow: hidden;
  white-space: nowrap;
  font-size: 12px;
  border-top: 1px solid rgba(255,255,255,0.05);
  padding: 10px 0;
}
.footer-comunas a {
  color: var(--color-text-muted);
  text-decoration: none;
  margin: 0 8px;
}
.footer-comunas a:hover {
  color: var(--color-text-muteding);
}
.scroll {
  display: inline-block;
  padding-left: 100%;
  animation: scroll-left 40s linear infinite;
}
@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.footer {
    position: relative;
    width: 100%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: var(--color-bg-secondary);
    padding-block: clamp(3rem, 6vw, 4rem);
    border-top: 1px solid var(--color-text-muteding);
}
.footer-inner {
    max-width: 1200px;
    width: 100%;
    margin-inline: auto;
    display: grid;
    gap: 3rem;
    padding: 20px 20px;
}
@media (min-width: 900px) {
    .footer-inner {
        grid-template-columns: 1.5fr 1fr 1fr;
    }
}
.footer-brand h3 {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 1rem;
    color: var(--color-text);
}
.footer-brand p {
    opacity: .7;
    line-height: 1.5;
    max-width: 340px;
    color: var(--color-text-muted);
}
.footer-menu h4,
.footer-contact h4 {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--color-text-muted);
}
.footer-menu ul,
.footer-contact ul {
    list-style: none;
    padding: 0;
}
.footer-menu li,
.footer-contact li {
    margin-bottom: .6rem;
    opacity: .75;
    color: var(--color-text);
}
.footer-menu a,
.footer-contact a {
   color: var(--color-link);
    transition: color .2s ease;
}
.footer-menu a:hover,
.footer-contact a:hover {
    color: var(--color-link-hover);
}
.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    opacity: .45;
    font-size: .95rem;
    color: var(--color-text-muted);
}